X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneDownloaderImpl.java;h=1521eaf96a492bd16c368fb7df18c6a793d8f5cf;hp=1e1484d4112a53d178a6154d65d260007cf56209;hb=2b47186b72e30460a6710f95a76e4a99c305909a;hpb=fdffe49b10613e1d9caacdf62ab99bca06edf3e1 diff --git a/src/main/java/net/pterodactylus/sone/core/SoneDownloaderImpl.java b/src/main/java/net/pterodactylus/sone/core/SoneDownloaderImpl.java index 1e1484d..1521eaf 100644 --- a/src/main/java/net/pterodactylus/sone/core/SoneDownloaderImpl.java +++ b/src/main/java/net/pterodactylus/sone/core/SoneDownloaderImpl.java @@ -24,8 +24,10 @@ import static java.util.concurrent.TimeUnit.DAYS; import java.io.InputStream; import java.net.MalformedURLException; import java.util.ArrayList; +import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.logging.Level; @@ -344,10 +346,6 @@ public class SoneDownloaderImpl extends AbstractService implements SoneDownloade } } - if (originalSone.getInsertUri() != null) { - sone.setInsertUri(originalSone.getInsertUri()); - } - SimpleXML profileXml = soneXml.getNode("profile"); if (profileXml == null) { /* TODO - mark Sone as bad. */ @@ -477,6 +475,7 @@ public class SoneDownloaderImpl extends AbstractService implements SoneDownloade /* parse albums. */ SimpleXML albumsXml = soneXml.getNode("albums"); + Map allImages = new HashMap(); List topLevelAlbums = new ArrayList(); if (albumsXml != null) { for (SimpleXML albumXml : albumsXml.getNodes("album")) { @@ -531,10 +530,11 @@ public class SoneDownloaderImpl extends AbstractService implements SoneDownloade logger.log(Level.WARNING, String.format("Downloaded Sone %s contains image %s with invalid dimensions (%s, %s)!", sone, imageId, imageWidthString, imageHeightString)); return null; } - Image image = core.getImage(imageId).modify().setSone(sone).setKey(imageKey).setCreationTime(creationTime).update(); + Image image = core.imageBuilder().withId(imageId).build().modify().setSone(sone).setKey(imageKey).setCreationTime(creationTime).update(); image = image.modify().setTitle(imageTitle).setDescription(imageDescription).update(); image = image.modify().setWidth(imageWidth).setHeight(imageHeight).update(); album.addImage(image); + allImages.put(imageId, image); } } album.modify().setAlbumImage(albumImageId).update(); @@ -543,7 +543,7 @@ public class SoneDownloaderImpl extends AbstractService implements SoneDownloade /* process avatar. */ if (avatarId != null) { - profile.setAvatar(core.getImage(avatarId, false)); + profile.setAvatar(allImages.get(avatarId)); } /* okay, apparently everything was parsed correctly. Now import. */