String fieldValue = fieldXml.getValue("field-value", "");
if (fieldName == null) {
logger.log(Level.WARNING, String.format("Downloaded profile field for Sone %s with missing data! Name: %s, Value: %s", sone, fieldName, fieldValue));
- return null;
+ throw new MalformedXml();
}
try {
profile.setField(profile.addField(fieldName), fieldValue);
} catch (IllegalArgumentException iae1) {
logger.log(Level.WARNING, String.format("Duplicate field: %s", fieldName), iae1);
- return null;
+ throw new DuplicateField();
}
}
}
if ((postId == null) || (postTime == null) || (postText == null)) {
/* TODO - mark Sone as bad. */
logger.log(Level.WARNING, String.format("Downloaded post for Sone %s with missing data! ID: %s, Time: %s, Text: %s", sone, postId, postTime, postText));
- return null;
+ throw new MalformedXml();
}
try {
PostBuilder postBuilder = sone.newPostBuilder();
} catch (NumberFormatException nfe1) {
/* TODO - mark Sone as bad. */
logger.log(Level.WARNING, String.format("Downloaded post for Sone %s with invalid time: %s", sone, postTime));
- return null;
+ throw new MalformedTime();
}
}
}
public static class MalformedXml extends RuntimeException {
}
+
+ public static class DuplicateField extends RuntimeException {
+
+ }
+
+ public static class MalformedTime extends RuntimeException {
+
+ }
}