X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=7232b729b8f35f84aecde554b4d1a0f8e8b22305;hp=941a5981acbf667a15fe7830b676d871e1cbef14;hb=ce58ae7224b867106e255b5b8c345817dd3ed094;hpb=20c1feec0d9b6856245473283d3aad1c00076005 diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java index 941a598..7232b72 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -92,7 +92,6 @@ import net.pterodactylus.util.thread.NamedThreadFactory; import com.google.common.base.Optional; import com.google.common.base.Predicate; import com.google.common.base.Predicates; -import com.google.common.collect.Collections2; import com.google.common.collect.FluentIterable; import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableSet; @@ -361,13 +360,13 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, @Override public Collection getLocalSones() { synchronized (sones) { - return Collections2.filter(sones.values(), new Predicate() { + return FluentIterable.from(sones.values()).filter(new Predicate() { @Override public boolean apply(Sone sone) { return sone.isLocal(); } - }); + }).toSet(); } } @@ -402,13 +401,13 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, @Override public Collection getRemoteSones() { synchronized (sones) { - return Collections2.filter(sones.values(), new Predicate() { + return FluentIterable.from(sones.values()).filter(new Predicate() { @Override public boolean apply(Sone sone) { return !sone.isLocal(); } - }); + }).toSet(); } } @@ -802,7 +801,11 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, return null; } synchronized (sones) { - final Sone sone = getRemoteSone(identity.getId(), true).setIdentity(identity); + final Sone sone = getRemoteSone(identity.getId(), true); + if (sone.isLocal()) { + return sone; + } + sone.setIdentity(identity); boolean newSone = sone.getRequestUri() == null; sone.setRequestUri(SoneUri.create(identity.getRequestUri())); sone.setLatestEdition(Numbers.safeParseLong(identity.getProperty("Sone.LatestEdition"), (long) 0));