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;
import net.pterodactylus.util.xml.SimpleXML;
import net.pterodactylus.util.xml.XML;
+import com.google.common.base.Optional;
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;
}
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;
}
}
logger.log(Level.WARNING, String.format("Downloaded Sone %s contains invalid album!", sone));
return null;
}
- Album parent = null;
+ Optional<Album> parent = Optional.absent();
if (parentId != null) {
parent = core.getAlbum(parentId);
- if (parent == null) {
+ if (!parent.isPresent()) {
logger.log(Level.WARNING, String.format("Downloaded Sone %s has album with invalid parent!", sone));
return null;
}
.setTitle(title)
.setDescription(description)
.update();
- if (parent != null) {
- parent.addAlbum(album);
+ if (parent.isPresent()) {
+ parent.get().addAlbum(album);
} else {
topLevelAlbums.add(album);
}