X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdatabase%2Fmemory%2FMemoryDatabase.java;h=d5d5396ce2c5a74e6c6d0e9d7c3f28292a8cc2f1;hb=f333f58180a7f112394cd768d86c95a3c9edf794;hp=983f8da19fbc3e055b6e3008c9a5828b55329b28;hpb=0aa389b2493e19484530698e2ce056372dc2a1e9;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java b/src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java index 983f8da..d5d5396 100644 --- a/src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java +++ b/src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java @@ -275,7 +275,7 @@ public class MemoryDatabase extends AbstractService implements Database { /* if we’re still here, Sone was loaded successfully. */ lock.writeLock().lock(); try { - sone.setTime(soneTime); + updateSoneTime(sone, soneTime); sone.setProfile(profile); sone.setLikePostIds(likedPostIds); sone.setLikeReplyIds(likedReplyIds); @@ -464,6 +464,7 @@ public class MemoryDatabase extends AbstractService implements Database { @Override protected void doStart() { soneDatabase.start(); + memoryFriendDatabase.start(); postDatabase.start(); memoryBookmarkDatabase.start(); loadKnownPostReplies(); @@ -475,6 +476,7 @@ public class MemoryDatabase extends AbstractService implements Database { protected void doStop() { try { soneDatabase.stop(); + memoryFriendDatabase.stop(); postDatabase.stop(); memoryBookmarkDatabase.stop(); save(); @@ -515,6 +517,11 @@ public class MemoryDatabase extends AbstractService implements Database { soneDatabase.setSoneKnown(sone.getId()); } + @Override + public void updateSoneTime(Sone sone, long soneTime) { + soneDatabase.updateSoneTime(sone.getId(), soneTime); + } + private void storePosts(String soneId, Collection posts) { postDatabase.storePosts(soneId, posts); } @@ -632,6 +639,11 @@ public class MemoryDatabase extends AbstractService implements Database { } @Override + public Optional getSoneFollowingTime(String remoteSoneId) { + return memoryFriendDatabase.getSoneFollowingTime(remoteSoneId); + } + + @Override public boolean isFriend(LocalSone localSone, String friendSoneId) { if (!localSone.isLocal()) { return false;