Don’t NPE when the request URI is not yet set.
[Sone.git] / src / main / java / net / pterodactylus / sone / data / Sone.java
index fd69832..2149a68 100644 (file)
@@ -164,7 +164,7 @@ public class Sone {
         * @return The request URI of this Sone
         */
        public FreenetURI getRequestUri() {
-               return requestUri.setSuggestedEdition(latestEdition);
+               return (requestUri != null) ? requestUri.setSuggestedEdition(latestEdition) : null;
        }
 
        /**
@@ -291,17 +291,7 @@ public class Sone {
         */
        public List<Sone> getFriends() {
                List<Sone> friends = new ArrayList<Sone>(friendSones);
-               Collections.sort(friends, new Comparator<Sone>() {
-
-                       @Override
-                       public int compare(Sone leftSone, Sone rightSone) {
-                               int diff = SoneAccessor.getNiceName(leftSone).compareToIgnoreCase(SoneAccessor.getNiceName(rightSone));
-                               if (diff != 0) {
-                                       return diff;
-                               }
-                               return (int) Math.max(Integer.MIN_VALUE, Math.min(Integer.MAX_VALUE, rightSone.getTime() - leftSone.getTime()));
-                       }
-               });
+               Collections.sort(friends, NICE_NAME_COMPARATOR);
                return friends;
        }
 
@@ -415,7 +405,7 @@ public class Sone {
         *
         * @return All replies this Sone made
         */
-       public Set<Reply> getReplies() {
+       public synchronized Set<Reply> getReplies() {
                return Collections.unmodifiableSet(replies);
        }
 
@@ -631,7 +621,7 @@ public class Sone {
         */
        @Override
        public String toString() {
-               return getClass().getName() + "[identity=" + identity + ",requestUri=" + requestUri + ",insertUri=" + insertUri + ",friends(" + friendSones.size() + "),posts(" + posts.size() + "),replies(" + replies.size() + ")]";
+               return getClass().getName() + "[identity=" + identity + ",requestUri=" + requestUri + ",insertUri(" + String.valueOf(insertUri).length() + "),friends(" + friendSones.size() + "),posts(" + posts.size() + "),replies(" + replies.size() + ")]";
        }
 
 }