X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneDownloaderImpl.java;h=a46d911f41ccacdf09b6bb3f846f870f45c34dd4;hb=563df6d3fb70d83ee8a7d2ee6b957434af7d3251;hp=1e1484d4112a53d178a6154d65d260007cf56209;hpb=fdffe49b10613e1d9caacdf62ab99bca06edf3e1;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/SoneDownloaderImpl.java b/src/main/java/net/pterodactylus/sone/core/SoneDownloaderImpl.java index 1e1484d..a46d911 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; @@ -477,6 +479,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 +534,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 +547,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. */