♻️ Refactor parts of identity removal
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 1 May 2020 14:01:40 +0000 (16:01 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 1 May 2020 14:01:40 +0000 (16:01 +0200)
src/main/java/net/pterodactylus/sone/core/Core.java

index da1b2f8..9354063 100644 (file)
@@ -1581,13 +1581,8 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
                OwnIdentity ownIdentity = identityRemovedEvent.getOwnIdentity();
                Identity identity = identityRemovedEvent.getIdentity();
                trustedIdentities.remove(ownIdentity, identity);
                OwnIdentity ownIdentity = identityRemovedEvent.getOwnIdentity();
                Identity identity = identityRemovedEvent.getIdentity();
                trustedIdentities.remove(ownIdentity, identity);
-               for (Entry<OwnIdentity, Collection<Identity>> trustedIdentity : trustedIdentities.asMap().entrySet()) {
-                       if (trustedIdentity.getKey().equals(ownIdentity)) {
-                               continue;
-                       }
-                       if (trustedIdentity.getValue().contains(identity)) {
-                               return;
-                       }
+               if (otherOwnIdentityStillKnowsIdentity(ownIdentity, identity)) {
+                       return;
                }
                Sone sone = getSone(identity.getId());
                if (sone == null) {
                }
                Sone sone = getSone(identity.getId());
                if (sone == null) {
@@ -1604,6 +1599,10 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
                database.removeSone(sone);
        }
 
                database.removeSone(sone);
        }
 
+       private boolean otherOwnIdentityStillKnowsIdentity(OwnIdentity ownIdentity, Identity identity) {
+               return trustedIdentities.entries().stream().anyMatch(e -> !e.getKey().equals(ownIdentity) && e.getValue().equals(identity));
+       }
+
        /**
         * Deletes the temporary image.
         *
        /**
         * Deletes the temporary image.
         *