X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneParser.java;h=ae1e2a5b97a4de1466b0b1b919896afab0e8b333;hb=92ea5984519562a8f3bee878da6fb130a376d97c;hp=5851b1834959e2f83c6375f998b345803f21cb17;hpb=224be7a31fee673fa438cb02c4bb2105d01a52cc;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/SoneParser.java b/src/main/java/net/pterodactylus/sone/core/SoneParser.java index 5851b18..ae1e2a5 100644 --- a/src/main/java/net/pterodactylus/sone/core/SoneParser.java +++ b/src/main/java/net/pterodactylus/sone/core/SoneParser.java @@ -20,6 +20,8 @@ import net.pterodactylus.sone.data.Image; import net.pterodactylus.sone.data.Post; import net.pterodactylus.sone.data.PostReply; import net.pterodactylus.sone.data.Profile; +import net.pterodactylus.sone.data.Profile.DuplicateField; +import net.pterodactylus.sone.data.Profile.EmptyFieldName; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.database.PostBuilder; import net.pterodactylus.sone.database.PostReplyBuilder; @@ -36,7 +38,7 @@ import org.w3c.dom.Document; */ public class SoneParser { - private static final Logger logger = getLogger("Sone.Parser"); + private static final Logger logger = getLogger(SoneParser.class.getName()); private static final int MAX_PROTOCOL_VERSION = 0; private final Core core; @@ -150,8 +152,11 @@ public class SoneParser { } try { profile.addField(fieldName.trim()).setValue(fieldValue); - } catch (IllegalArgumentException iae1) { - logger.log(Level.WARNING, String.format("Duplicate field: %s", fieldName), iae1); + } catch (EmptyFieldName efn1) { + logger.log(Level.WARNING, "Empty field name!", efn1); + return null; + } catch (DuplicateField df1) { + logger.log(Level.WARNING, String.format("Duplicate field: %s", fieldName), df1); return null; } } @@ -320,16 +325,13 @@ public class SoneParser { } /* okay, apparently everything was parsed correctly. Now import. */ - /* atomic setter operation on the Sone. */ - synchronized (sone) { - sone.setProfile(profile); - sone.setPosts(posts); - sone.setReplies(replies); - sone.setLikePostIds(likedPostIds); - sone.setLikeReplyIds(likedReplyIds); - for (Album album : topLevelAlbums) { - sone.getRootAlbum().addAlbum(album); - } + sone.setProfile(profile); + sone.setPosts(posts); + sone.setReplies(replies); + sone.setLikePostIds(likedPostIds); + sone.setLikeReplyIds(likedReplyIds); + for (Album album : topLevelAlbums) { + sone.getRootAlbum().addAlbum(album); } return sone;