X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneParser.java;h=01c056e9dec4599b28a63468db14fd3deee9ef97;hp=1f3056538458efe737a3c48cdcd9c76340e1a6e9;hb=388401b79c3eacd94eb070b5c8ebab6055740246;hpb=93e404f70a7b35ef8db6242980edfea625e9693b diff --git a/src/main/java/net/pterodactylus/sone/core/SoneParser.java b/src/main/java/net/pterodactylus/sone/core/SoneParser.java index 1f30565..01c056e 100644 --- a/src/main/java/net/pterodactylus/sone/core/SoneParser.java +++ b/src/main/java/net/pterodactylus/sone/core/SoneParser.java @@ -257,6 +257,7 @@ public class SoneParser { SimpleXML albumsXml = soneXml.getNode("albums"); Map allImages = new HashMap<>(); List topLevelAlbums = new ArrayList<>(); + Map allAlbums = new HashMap<>(); if (albumsXml != null) { for (SimpleXML albumXml : albumsXml.getNodes("album")) { String id = albumXml.getValue("id", null); @@ -269,7 +270,7 @@ public class SoneParser { } Album parent = null; if (parentId != null) { - parent = database.getAlbum(parentId); + parent = allAlbums.get(parentId); if (parent == null) { logger.log(Level.WARNING, String.format("Downloaded Sone %s has album with invalid parent!", sone)); return null; @@ -288,6 +289,7 @@ public class SoneParser { } else { topLevelAlbums.add(album); } + allAlbums.put(album.getId(), album); SimpleXML imagesXml = albumXml.getNode("images"); if (imagesXml != null) { for (SimpleXML imageXml : imagesXml.getNodes("image")) {