X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=72c36d823853c1d55a8059afd42b7644de16a077;hb=78cd820b392069def4640d45497e4097ef031d53;hp=ecebbe8accea5586acf401b461a43eb1228dadb3;hpb=20673d9e01a985df985690090b5e5cdb05f25d01;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java index ecebbe8..72c36d8 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -331,6 +331,25 @@ public class Core extends AbstractService { Reply reply = new ReplyShell().setSone(replySone).setPost(replyPost).setTime(replyTime).setText(replyText).getShelled(); replyCache.put(replyId, reply); } while (true); + + /* load friends. */ + int friendCounter = 0; + while (true) { + String friendPrefix = sonePrefix + "/Friend." + friendCounter++; + String friendId = configuration.getStringValue(friendPrefix + "/ID").getValue(null); + if (friendId == null) { + break; + } + Sone friendSone = soneCache.get(friendId); + if (friendSone instanceof SoneShell) { + String friendKey = configuration.getStringValue(friendPrefix + "/Key").getValue(null); + String friendName = configuration.getStringValue(friendPrefix + "/Name").getValue(null); + ((SoneShell) friendSone).setRequestUri(new FreenetURI(friendKey)).setName(friendName); + } + addRemoteSone(friendSone); + sone.addFriend(sone); + } + sone.setModificationCounter(modificationCounter); addSone(sone); } catch (MalformedURLException mue1) { @@ -385,6 +404,17 @@ public class Core extends AbstractService { } /* write null ID as terminator. */ configuration.getStringValue(sonePrefix + "/Reply." + replyId + "/ID").setValue(null); + + int friendId = 0; + for (Sone friend : sone.getFriends()) { + String friendPrefix = sonePrefix + "/Friend." + friendId++; + configuration.getStringValue(friendPrefix + "/ID").setValue(friend.getId()); + configuration.getStringValue(friendPrefix + "/Key").setValue(friend.getRequestUri().toString()); + configuration.getStringValue(friendPrefix + "/Name").setValue(friend.getName()); + } + /* write null ID as terminator. */ + configuration.getStringValue(sonePrefix + "/Friend." + friendId + "/ID").setValue(null); + } /* write null ID as terminator. */ configuration.getStringValue("Sone/Sone." + soneId + "/ID").setValue(null);