X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneDownloader.java;h=eb263ed778005787a8d688b37c12eab93d933848;hb=f10d40f746f6c7c716f783da11791d28c1117447;hp=d0f905522d8d5c346fa2d14844262d3f2a4b14df;hpb=115487bc44d755f1ae836bafc610fb49a04d9d02;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java b/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java index d0f9055..eb263ed 100644 --- a/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java +++ b/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java @@ -17,6 +17,8 @@ package net.pterodactylus.sone.core; +import static net.pterodactylus.sone.data.Sone.TO_FREENET_URI; + import java.io.InputStream; import java.util.HashSet; import java.util.Set; @@ -107,7 +109,7 @@ public class SoneDownloader extends AbstractService { * The Sone to fetch */ public void fetchSone(Sone sone) { - fetchSone(sone, sone.getRequestUri().sskForUSK()); + fetchSone(sone, TO_FREENET_URI.apply(sone).sskForUSK()); } /** @@ -180,12 +182,7 @@ public class SoneDownloader extends AbstractService { soneInputStream = soneBucket.getInputStream(); Sone parsedSone = parseSone(originalSone, soneInputStream); if (parsedSone != null) { - parsedSone.setLatestEdition(requestUri.getEdition()); - if (requestUri.getKeyType().equals("USK")) { - parsedSone.setRequestUri(requestUri.setMetaString(new String[0])); - } else { - parsedSone.setRequestUri(requestUri.setKeyType("USK").setDocName("Sone").setMetaString(new String[0])); - } + parsedSone.modify().setLatestEdition(requestUri.getEdition()).update(); } return parsedSone; } catch (Exception e1) { @@ -206,11 +203,9 @@ public class SoneDownloader extends AbstractService { * @param soneInputStream * The input stream to parse the Sone from * @return The parsed Sone - * @throws SoneException - * if a parse error occurs, or the protocol is invalid */ - public Sone parseSone(Sone originalSone, InputStream soneInputStream) throws SoneException { - return new SoneParser(core).parseSone(originalSone, soneInputStream); + public Sone parseSone(Sone originalSone, InputStream soneInputStream) { + return new SoneParser().parseSone(core.getDatabase(), originalSone, soneInputStream); } //