X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FTrustUpdater.java;h=d122235dead3b19cde6e0f13f7fb0c30a60876a5;hp=6221d3914b771b8938699bdcdbe71b140a4a1598;hb=dd1a9d6c535e790323da394212fae757baa49106;hpb=3f28d9bce06f467c088f0c937adbe04ed79f17d0 diff --git a/src/main/java/net/pterodactylus/sone/core/TrustUpdater.java b/src/main/java/net/pterodactylus/sone/core/TrustUpdater.java index 6221d39..d122235 100644 --- a/src/main/java/net/pterodactylus/sone/core/TrustUpdater.java +++ b/src/main/java/net/pterodactylus/sone/core/TrustUpdater.java @@ -173,6 +173,38 @@ public class TrustUpdater extends AbstractService { /* does nothing. */ } + // + // OBJECT METHODS + // + + /** + * {@inheritDoc} + */ + @Override + public boolean equals(Object object) { + if ((object == null) || !object.getClass().equals(getClass())) { + return false; + } + TrustUpdateJob updateJob = (TrustUpdateJob) object; + return ((truster == null) ? (updateJob.truster == null) : updateJob.truster.equals(truster)) && ((trustee == null) ? (updateJob.trustee == null) : updateJob.trustee.equals(trustee)); + } + + /** + * {@inheritDoc} + */ + @Override + public int hashCode() { + return ((truster == null) ? 0 : truster.hashCode()) ^ ((trustee == null) ? 0 : trustee.hashCode()); + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return String.format("%s[truster=%s,trustee=%s]", getClass().getSimpleName(), (truster == null) ? null : truster.getId(), (trustee == null) ? null : trustee.getId()); + } + } /** @@ -180,7 +212,7 @@ public class TrustUpdater extends AbstractService { * * @author David ‘Bombe’ Roden */ - private static class SetTrustJob extends TrustUpdateJob { + private class SetTrustJob extends TrustUpdateJob { /** The score of the relation. */ private final Integer score; @@ -215,9 +247,15 @@ public class TrustUpdater extends AbstractService { public void run() { try { if (score != null) { - truster.setTrust(trustee, score, comment); + if (trustee instanceof DefaultIdentity) { + ((DefaultIdentity) trustee).setTrust(truster, new Trust(score, null, 0)); + } + webOfTrustConnector.setTrust(truster, trustee, score, comment); } else { - truster.removeTrust(trustee); + if (trustee instanceof DefaultIdentity) { + ((DefaultIdentity) trustee).setTrust(truster, null); + } + webOfTrustConnector.removeTrust(truster, trustee); } } catch (WebOfTrustException wote1) { logger.log(Level.WARNING, "Could not set Trust value for " + truster + " -> " + trustee + " to " + score + " (" + comment + ")!", wote1);