X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FSone.java;h=95c7a270e1cc794d745e4b5ab9b742da7784d3d1;hb=ae4e57dd9d46d4514cb76a654e3ba5c1dc4aad6f;hp=129293cee88ad1434e746825b8ae29c595d6f732;hpb=df1e2e70c2f7031cd5b175d58b8f0b70c672176b;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/Sone.java b/src/main/java/net/pterodactylus/sone/data/Sone.java index 129293c..95c7a27 100644 --- a/src/main/java/net/pterodactylus/sone/data/Sone.java +++ b/src/main/java/net/pterodactylus/sone/data/Sone.java @@ -24,7 +24,6 @@ import java.util.Comparator; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.UUID; import java.util.logging.Level; import java.util.logging.Logger; @@ -42,11 +41,25 @@ import freenet.keys.FreenetURI; */ public class Sone { + /** comparator that sorts Sones by their nice name. */ + public static final Comparator NICE_NAME_COMPARATOR = new Comparator() { + + @Override + public int compare(Sone leftSone, Sone rightSone) { + int diff = SoneAccessor.getNiceName(leftSone).compareToIgnoreCase(SoneAccessor.getNiceName(rightSone)); + if (diff != 0) { + return diff; + } + return leftSone.getId().compareToIgnoreCase(rightSone.getId()); + } + + }; + /** The logger. */ private static final Logger logger = Logging.getLogger(Sone.class); - /** A GUID for this Sone. */ - private final UUID id; + /** The ID of this Sone. */ + private final String id; /** The name of this Sone. */ private volatile String name; @@ -73,9 +86,6 @@ public class Sone { /** All replies. */ private final Set replies = Collections.synchronizedSet(new HashSet()); - /** The IDs of all blocked Sones. */ - private final Set blockedSoneIds = Collections.synchronizedSet(new HashSet()); - /** The IDs of all liked posts. */ private final Set likedPostIds = Collections.synchronizedSet(new HashSet()); @@ -92,7 +102,7 @@ public class Sone { * The ID of this Sone */ public Sone(String id) { - this.id = UUID.fromString(id); + this.id = id; } // @@ -105,7 +115,7 @@ public class Sone { * @return The ID of this Sone */ public String getId() { - return id.toString(); + return id; } /** @@ -420,52 +430,6 @@ public class Sone { } /** - * Returns the IDs of all blocked Sones. These Sones will not propagated - * using the “known Sones” mechanism. - * - * @return The IDs of all blocked Sones - */ - public Set getBlockedSoneIds() { - return Collections.unmodifiableSet(blockedSoneIds); - } - - /** - * Returns whether the given Sone ID is blocked. - * - * @param soneId - * The Sone ID to check - * @return {@code true} if the given Sone ID is blocked, {@code false} - * otherwise - */ - public boolean isSoneBlocked(String soneId) { - return blockedSoneIds.contains(soneId); - } - - /** - * Adds the given ID to the list of blocked IDs. - * - * @param soneId - * The Sone ID to block - */ - public synchronized void addBlockedSoneId(String soneId) { - if (blockedSoneIds.add(soneId)) { - modificationCounter++; - } - } - - /** - * Removes the given ID from the list of blocked IDs. - * - * @param soneId - * The Sone ID to unblock - */ - public synchronized void removeBlockedSoneId(String soneId) { - if (blockedSoneIds.remove(soneId)) { - modificationCounter++; - } - } - - /** * Returns the IDs of all liked posts. * * @return All liked posts’ IDs