Use different method to create a local Sone.
[Sone.git] / src / main / java / net / pterodactylus / sone / database / memory / MemoryDatabase.java
index 2d8d1be..8815abc 100644 (file)
@@ -182,19 +182,19 @@ public class MemoryDatabase extends AbstractService implements Database {
        }
 
        private LocalSone loadLocalSone(OwnIdentity ownIdentity) {
-               LocalSone localSone = (LocalSone) newSoneBuilder().local().from(ownIdentity).build();
+               LocalSone localSone = newSoneBuilder().from(ownIdentity).using(
+                               new Client("Sone", SonePlugin.VERSION.toString())).buildLocal();
                localSone.setLatestEdition(
                                Optional.fromNullable(
                                                Longs.tryParse(ownIdentity.getProperty(LATEST_EDITION_PROPERTY)))
                                .or(0L));
-               localSone.setClient(new Client("Sone", SonePlugin.VERSION.toString()));
                localSone.setKnown(true);
 
                loadSone(localSone);
                return localSone;
        }
 
-       public void loadSone(LocalSone sone) {
+       private void loadSone(LocalSone sone) {
                long soneTime = configurationLoader.getLocalSoneTime(sone.getId());
                if (soneTime == -1) {
                        return;
@@ -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);
@@ -517,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<Post> posts) {
                postDatabase.storePosts(soneId, posts);
        }