Add method to return a local Sone from the database.
[Sone.git] / src / main / java / net / pterodactylus / sone / database / memory / MemoryDatabase.java
index 813dc42..12ef439 100644 (file)
@@ -50,6 +50,7 @@ import net.pterodactylus.sone.core.ConfigurationSoneParser.InvalidPostReplyFound
 import net.pterodactylus.sone.data.Album;
 import net.pterodactylus.sone.data.Client;
 import net.pterodactylus.sone.data.Image;
+import net.pterodactylus.sone.data.LocalSone;
 import net.pterodactylus.sone.data.Post;
 import net.pterodactylus.sone.data.PostReply;
 import net.pterodactylus.sone.data.Profile;
@@ -158,6 +159,18 @@ public class MemoryDatabase extends AbstractService implements Database {
        // DATABASE METHODS
        //
 
+       @Override
+       public Optional<LocalSone> getLocalSone(String localSoneId) {
+               lock.readLock().lock();
+               try {
+                       if (!localSones.contains(localSoneId)) {
+                               return Optional.absent();
+                       }
+                       return Optional.of((LocalSone) allSones.get(localSoneId));
+               } finally {
+                       lock.readLock().unlock();
+               }
+       }
 
        @Override
        public Sone registerLocalSone(OwnIdentity ownIdentity) {