*/
public void followSone(Sone sone, String soneId) {
Validation.begin().isNotNull("Sone", sone).isNotNull("Sone ID", soneId).check();
+ Sone followedSone = getSone(soneId, true);
+ if (followedSone == null) {
+ logger.log(Level.INFO, String.format("Ignored Sone with invalid ID: %s", soneId));
+ return;
+ }
followSone(sone, getSone(soneId));
}
break;
}
long time = configuration.getLongValue("SoneFollowingTimes/" + soneCounter + "/Time").getValue(Long.MAX_VALUE);
- synchronized (soneFollowingTimes) {
- soneFollowingTimes.put(getSone(soneId), time);
+ Sone followedSone = getSone(soneId);
+ if (followedSone == null) {
+ logger.log(Level.WARNING, String.format("Ignoring Sone with invalid ID: %s", soneId));
+ } else {
+ synchronized (soneFollowingTimes) {
+ soneFollowingTimes.put(getSone(soneId), time);
+ }
}
++soneCounter;
}