Treat invalid own identity as no own identity.
[WoTNS.git] / src / main / java / net / pterodactylus / wotns / main / Resolver.java
index 7ec725c..0d94ce2 100644 (file)
@@ -46,6 +46,10 @@ public class Resolver {
                this.identityManager = identityManager;
        }
 
+       public String getOwnIdentityId() {
+               return ownIdentityId;
+       }
+
        public void setOwnIdentityId(String ownIdentityId) {
                this.ownIdentityId = ownIdentityId;
        }
@@ -83,7 +87,9 @@ public class Resolver {
                }
                @SuppressWarnings("hiding")
                final OwnIdentity ownIdentity;
-               if (this.ownIdentityId == null) {
+               if ((this.ownIdentityId != null) && (identityManager.getOwnIdentity(this.ownIdentityId) != null)) {
+                       ownIdentity = identityManager.getOwnIdentity(this.ownIdentityId);
+               } else if (this.ownIdentityId == null) {
                        Set<OwnIdentity> ownIdentities = identityManager.getAllOwnIdentities();
                        if (!ownIdentities.isEmpty()) {
                                ownIdentity = ownIdentities.iterator().next();
@@ -91,13 +97,13 @@ public class Resolver {
                                ownIdentity = null;
                        }
                } else {
-                       ownIdentity = identityManager.getOwnIdentity(ownIdentityId);
+                       ownIdentity = null;
                }
                if (ownIdentity == null) {
                        return null;
                }
                System.out.println("using own identity " + ownIdentity + " to resolve " + shortName);
-               Set<Identity> trustedIdentities = Default.forNull(identityManager.getTrustedIdentities(ownIdentity), Collections.<Identity>emptySet());
+               Set<Identity> trustedIdentities = Default.forNull(identityManager.getTrustedIdentities(ownIdentity), Collections.<Identity> emptySet());
                List<Identity> matchingIdentities = new ArrayList<Identity>();
                System.out.println("checking " + trustedIdentities);
                for (Identity identity : trustedIdentities) {