X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2Fimpl%2FSoneImpl.java;h=97fe8eb80ca91d29db026d7081d1d2b8249eefd7;hb=e4daf856661958be1f88f0d3861823df91c78b1e;hp=f7ebfb10f4899383416727041cb779047f29b191;hpb=6b65a32a69b0e3721c58b4501a6b58fa4989f162;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/impl/SoneImpl.java b/src/main/java/net/pterodactylus/sone/data/impl/SoneImpl.java index f7ebfb1..97fe8eb 100644 --- a/src/main/java/net/pterodactylus/sone/data/impl/SoneImpl.java +++ b/src/main/java/net/pterodactylus/sone/data/impl/SoneImpl.java @@ -30,9 +30,11 @@ import java.util.Set; import java.util.concurrent.CopyOnWriteArraySet; import java.util.logging.Level; import java.util.logging.Logger; +import javax.annotation.Nullable; import net.pterodactylus.sone.data.Album; import net.pterodactylus.sone.data.Client; +import net.pterodactylus.sone.data.Image; import net.pterodactylus.sone.data.Post; import net.pterodactylus.sone.data.PostReply; import net.pterodactylus.sone.data.Profile; @@ -44,6 +46,9 @@ import net.pterodactylus.sone.database.Database; import net.pterodactylus.sone.freenet.wot.Identity; import net.pterodactylus.sone.freenet.wot.OwnIdentity; +import com.google.common.base.Optional; +import com.google.common.base.Predicate; +import com.google.common.collect.FluentIterable; import freenet.keys.FreenetURI; import com.google.common.hash.Hasher; @@ -584,6 +589,16 @@ public class SoneImpl implements Sone { return rootAlbum; } + @Override + public Optional getImageByInternalId(final String internalId) { + return FluentIterable.from(toAllImages.apply(this)).filter(new Predicate() { + @Override + public boolean apply(@Nullable Image input) { + return (input != null) && input.getInternalId().equals(internalId); + } + }).first(); + } + /** * Returns Sone-specific options. *