X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FWebOfTrustUpdater.java;h=9ad64789aa20e702467986ad673d398687ed48b0;hb=f3e620969ceeeb0e4372b184cac01e7877b2a695;hp=ac38571072cef0764b3772cceb6999deb71a3f6e;hpb=22006a7103d1e43dbf0474e58707fe7fea9356e1;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/WebOfTrustUpdater.java b/src/main/java/net/pterodactylus/sone/core/WebOfTrustUpdater.java index ac38571..9ad6478 100644 --- a/src/main/java/net/pterodactylus/sone/core/WebOfTrustUpdater.java +++ b/src/main/java/net/pterodactylus/sone/core/WebOfTrustUpdater.java @@ -34,6 +34,7 @@ import net.pterodactylus.sone.freenet.wot.WebOfTrustException; import net.pterodactylus.util.logging.Logging; import net.pterodactylus.util.service.AbstractService; +import com.google.common.annotations.VisibleForTesting; import com.google.inject.Inject; /** @@ -61,7 +62,7 @@ public class WebOfTrustUpdater extends AbstractService { * Creates a new trust updater. * * @param webOfTrustConnector - * The web of trust connector + * The web of trust connector */ @Inject public WebOfTrustUpdater(WebOfTrustConnector webOfTrustConnector) { @@ -74,19 +75,18 @@ public class WebOfTrustUpdater extends AbstractService { // /** - * Updates the trust relation between the truster and the trustee. This - * method will return immediately and perform a trust update in the - * background. + * Updates the trust relation between the truster and the trustee. This method + * will return immediately and perform a trust update in the background. * * @param truster - * The identity giving the trust + * The identity giving the trust * @param trustee - * The identity receiving the trust + * The identity receiving the trust * @param score - * The new level of trust (from -100 to 100, may be {@code null} - * to remove the trust completely) + * The new level of trust (from -100 to 100, may be {@code null} to remove + * the trust completely) * @param comment - * The comment of the trust relation + * The comment of the trust relation */ public void setTrust(OwnIdentity truster, Identity trustee, Integer score, String comment) { SetTrustJob setTrustJob = new SetTrustJob(truster, trustee, score, comment); @@ -105,22 +105,22 @@ public class WebOfTrustUpdater extends AbstractService { * Adds the given context to the given own identity. * * @param ownIdentity - * The own identity to add the context to + * The own identity to add the context to * @param context - * The context to add + * The context to add */ public void addContext(OwnIdentity ownIdentity, String context) { addContextWait(ownIdentity, context, false); } /** - * Adds the given context to the given own identity, waiting for completion - * of the operation. + * Adds the given context to the given own identity, waiting for completion of + * the operation. * * @param ownIdentity - * The own identity to add the context to + * The own identity to add the context to * @param context - * The context to add + * The context to add * @return {@code true} if the context was added successfully, {@code false} * otherwise */ @@ -129,19 +129,19 @@ public class WebOfTrustUpdater extends AbstractService { } /** - * Adds the given context to the given own identity, waiting for completion - * of the operation. + * Adds the given context to the given own identity, waiting for completion of + * the operation. * * @param ownIdentity - * The own identity to add the context to + * The own identity to add the context to * @param context - * The context to add + * The context to add * @param wait - * {@code true} to wait for the end of the operation, - * {@code false} to return immediately - * @return {@code true} if the context was added successfully, {@code false} - * if the context was not added successfully, or if the job should - * not wait for completion + * {@code true} to wait for the end of the operation, {@code false} to return + * immediately + * @return {@code true} if the context was added successfully, {@code false} if + * the context was not added successfully, or if the job should not + * wait for completion */ private boolean addContextWait(OwnIdentity ownIdentity, String context, boolean wait) { AddContextJob addContextJob = new AddContextJob(ownIdentity, context); @@ -169,9 +169,9 @@ public class WebOfTrustUpdater extends AbstractService { * Removes the given context from the given own identity. * * @param ownIdentity - * The own identity to remove the context from + * The own identity to remove the context from * @param context - * The context to remove + * The context to remove */ public void removeContext(OwnIdentity ownIdentity, String context) { RemoveContextJob removeContextJob = new RemoveContextJob(ownIdentity, context); @@ -189,11 +189,11 @@ public class WebOfTrustUpdater extends AbstractService { * Sets a property on the given own identity. * * @param ownIdentity - * The own identity to set the property on + * The own identity to set the property on * @param propertyName - * The name of the property to set + * The name of the property to set * @param propertyValue - * The value of the property to set + * The value of the property to set */ public void setProperty(OwnIdentity ownIdentity, String propertyName, String propertyValue) { SetPropertyJob setPropertyJob = new SetPropertyJob(ownIdentity, propertyName, propertyValue); @@ -212,9 +212,9 @@ public class WebOfTrustUpdater extends AbstractService { * Removes a property from the given own identity. * * @param ownIdentity - * The own identity to remove the property from + * The own identity to remove the property from * @param propertyName - * The name of the property to remove + * The name of the property to remove */ public void removeProperty(OwnIdentity ownIdentity, String propertyName) { setProperty(ownIdentity, propertyName, null); @@ -224,9 +224,7 @@ public class WebOfTrustUpdater extends AbstractService { // SERVICE METHODS // - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override protected void serviceRun() { while (!shouldStop()) { @@ -246,9 +244,7 @@ public class WebOfTrustUpdater extends AbstractService { } } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override protected void serviceStop() { try { @@ -263,7 +259,8 @@ public class WebOfTrustUpdater extends AbstractService { * * @author David ‘Bombe’ Roden */ - private class WebOfTrustUpdateJob { + @VisibleForTesting + class WebOfTrustUpdateJob implements Runnable { /** Object for synchronization. */ @SuppressWarnings("hiding") @@ -281,16 +278,16 @@ public class WebOfTrustUpdater extends AbstractService { /** * Performs the actual update operation. - *

+ *

* The implementation of this class does nothing. */ + @Override public void run() { /* does nothing. */ } /** - * Waits for completion of this job or stopping of the WebOfTrust - * updater. + * Waits for completion of this job or stopping of the WebOfTrust updater. * * @return {@code true} if this job finished successfully, {@code false} * otherwise @@ -318,8 +315,7 @@ public class WebOfTrustUpdater extends AbstractService { * Signals that this job has finished. * * @param success - * {@code true} if this job finished successfully, - * {@code false} otherwise + * {@code true} if this job finished successfully, {@code false} otherwise */ protected void finish(boolean success) { synchronized (syncObject) { @@ -354,14 +350,14 @@ public class WebOfTrustUpdater extends AbstractService { * Creates a new set trust job. * * @param truster - * The identity giving the trust + * The identity giving the trust * @param trustee - * The identity receiving the trust + * The identity receiving the trust * @param score - * The score of the trust (from -100 to 100, may be - * {@code null} to remote the trust relation completely) + * The score of the trust (from -100 to 100, may be {@code null} to remote + * the trust relation completely) * @param comment - * The comment of the trust relation + * The comment of the trust relation */ public SetTrustJob(OwnIdentity truster, Identity trustee, Integer score, String comment) { this.truster = truster; @@ -370,22 +366,16 @@ public class WebOfTrustUpdater extends AbstractService { this.comment = comment; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override @SuppressWarnings("synthetic-access") public void run() { try { if (score != null) { - if (trustee instanceof DefaultIdentity) { - ((DefaultIdentity) trustee).setTrust(truster, new Trust(score, null, 0)); - } + trustee.setTrust(truster, new Trust(score, null, 0)); webOfTrustConnector.setTrust(truster, trustee, score, comment); } else { - if (trustee instanceof DefaultIdentity) { - ((DefaultIdentity) trustee).setTrust(truster, null); - } + trustee.removeTrust(truster); webOfTrustConnector.removeTrust(truster, trustee); } finish(true); @@ -428,7 +418,8 @@ public class WebOfTrustUpdater extends AbstractService { * * @author David ‘Bombe’ Roden */ - private class WebOfTrustContextUpdateJob extends WebOfTrustUpdateJob { + @VisibleForTesting + class WebOfTrustContextUpdateJob extends WebOfTrustUpdateJob { /** The own identity whose contexts to manage. */ protected final OwnIdentity ownIdentity; @@ -440,9 +431,9 @@ public class WebOfTrustUpdater extends AbstractService { * Creates a new context update job. * * @param ownIdentity - * The own identity to update + * The own identity to update * @param context - * The context to update + * The context to update */ @SuppressWarnings("synthetic-access") public WebOfTrustContextUpdateJob(OwnIdentity ownIdentity, String context) { @@ -454,9 +445,7 @@ public class WebOfTrustUpdater extends AbstractService { // OBJECT METHODS // - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public boolean equals(Object object) { if ((object == null) || !object.getClass().equals(getClass())) { @@ -466,17 +455,13 @@ public class WebOfTrustUpdater extends AbstractService { return updateJob.ownIdentity.equals(ownIdentity) && updateJob.context.equals(context); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public int hashCode() { return getClass().hashCode() ^ ownIdentity.hashCode() ^ context.hashCode(); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String toString() { return String.format("%s[ownIdentity=%s,context=%s]", getClass().getSimpleName(), ownIdentity, context); @@ -489,23 +474,22 @@ public class WebOfTrustUpdater extends AbstractService { * * @author David ‘Bombe’ Roden */ - private class AddContextJob extends WebOfTrustContextUpdateJob { + @VisibleForTesting + class AddContextJob extends WebOfTrustContextUpdateJob { /** * Creates a new add-context job. * * @param ownIdentity - * The own identity whose contexts to manage + * The own identity whose contexts to manage * @param context - * The context to add + * The context to add */ public AddContextJob(OwnIdentity ownIdentity, String context) { super(ownIdentity, context); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override @SuppressWarnings("synthetic-access") public void run() { @@ -526,23 +510,22 @@ public class WebOfTrustUpdater extends AbstractService { * * @author David ‘Bombe’ Roden */ - private class RemoveContextJob extends WebOfTrustContextUpdateJob { + @VisibleForTesting + class RemoveContextJob extends WebOfTrustContextUpdateJob { /** * Creates a new remove-context job. * * @param ownIdentity - * The own identity whose contexts to manage + * The own identity whose contexts to manage * @param context - * The context to remove + * The context to remove */ public RemoveContextJob(OwnIdentity ownIdentity, String context) { super(ownIdentity, context); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override @SuppressWarnings("synthetic-access") public void run() { @@ -563,7 +546,8 @@ public class WebOfTrustUpdater extends AbstractService { * * @author David ‘Bombe’ Roden */ - private class SetPropertyJob extends WebOfTrustUpdateJob { + @VisibleForTesting + class SetPropertyJob extends WebOfTrustUpdateJob { /** The own identity to update properties on. */ private final OwnIdentity ownIdentity; @@ -578,20 +562,19 @@ public class WebOfTrustUpdater extends AbstractService { * Creates a new set-property job. * * @param ownIdentity - * The own identity to set the property on + * The own identity to set the property on * @param propertyName - * The name of the property to set + * The name of the property to set * @param propertyValue - * The value of the property to set + * The value of the property to set */ public SetPropertyJob(OwnIdentity ownIdentity, String propertyName, String propertyValue) { - super(ownIdentity, propertyName); + this.ownIdentity = ownIdentity; + this.propertyName = propertyName; this.propertyValue = propertyValue; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override @SuppressWarnings("synthetic-access") public void run() {