if (lastPostDate == null || entry.getPublishedDate().after(lastPostDate))
{
lastPostDate = entry.getPublishedDate();
}
Activity activity = getActivityFromATOMEntry(feed, entry, selectedObjectMapper);
// We were able to parse at least one good entry to completion, so the feed isn't broken.
brokenFeed = false;
if (isOutOfOrder && feed.getLastSeenGUID().equals(entry.getUri()))
{
log.info("Match found based on GUID: " + lastSeenGUID);
break;
}
else
{
log.info("No match found based on GUID: " + entry.getUri());
}
if (!isOutOfOrder && !entry.getPublishedDate().after(feed.getLastPostDate()))
{
log.info("Match found based on Date: " + feed.getLastPostDate());
break;
}
else
{
log.info("No match found based on Date: " + entry.getPublishedDate()
+ " Last Post Date: " + feed.getLastPostDate());
}
// create activities per subscriber
for (FeedSubscriber feedSubscriber : subscribers)
{
Activity activityForIndividual = (Activity) activity.clone();
if (feedSubscriber.getEntityType().equals(EntityType.PERSON))
{
Person person = personFinder.execute(new FindByIdRequest("Person", feedSubscriber
.getEntityId()));
if (person.isAccountLocked())
{
log.info("Ignoring locked account: " + person.getAccountId());
}
else
{
activityForIndividual.setActorId(person.getAccountId());
activityForIndividual.setRecipientStreamScope(person.getStreamScope());
activityForIndividual.setIsDestinationStreamPublic(true);
activityForIndividual.setActorType(feedSubscriber.getEntityType());
insertedActivities.add(activityForIndividual);
}
}
else if (feedSubscriber.getEntityType().equals(EntityType.GROUP))
{
DomainGroup group = groupFinder.execute(new FindByIdRequest("DomainGroup",
feedSubscriber.getEntityId()));
activityForIndividual.setActorId(group.getShortName());
activityForIndividual.setRecipientStreamScope(group.getStreamScope());
activityForIndividual.setIsDestinationStreamPublic(group.isPublicGroup());
activityForIndividual.setActorType(feedSubscriber.getEntityType());
insertedActivities.add(activityForIndividual);
}
}
}