X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=d63b938307b7bd7bd724f69ca76311252e2de635;hb=549697938ac2e2407183c1db511dfa79f8c059f1;hp=265b8e17a0b01808608d4b4556c6021213c3ac2a;hpb=aa1e8b24c174c47408a2422404933574c4a797d0;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 265b8e1..d63b938 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -489,14 +489,23 @@ public class Core implements IdentityListener { return null; } synchronized (remoteSones) { + final Sone sone = getRemoteSone(identity.getId()).setIdentity(identity); if (remoteSones.containsKey(identity.getId())) { logger.log(Level.FINE, "Identity already exists: %s", identity); return remoteSones.get(identity.getId()); } - Sone sone = new Sone(identity); sone.setRequestUri(getSoneUri(identity.getRequestUri(), identity.getProperty("Sone.LatestEdition"))); remoteSones.put(identity.getId(), sone); soneDownloader.addSone(sone); + new Thread(new Runnable() { + + @Override + @SuppressWarnings("synthetic-access") + public void run() { + soneDownloader.fetchSone(sone); + } + + }, "Sone Downloader").start(); setSoneStatus(sone, SoneStatus.idle); return sone; }