object.addContent(service.getAtomFactory().content(status,
"text/plain", null));
object.setPublished(now);
// the basics
ActivityEntry entry = service.getActivityFactory().entry();
entry.setTitle(status);
entry.addVerb(service.getActivityFactory().verb(ActivityVerb.POST));
entry.addObject(object);
entry.setPublished(now);
// add attachments if there are any
for (ActivityObject current : pictureAttachments) {
entry.addObject(current);
}
// Add recipients if there are any
for (String recipient : shoutAttachmentPanel.getRecipients()) {
entry.addRecipient(atomFactory.reply(null, recipient, null, null));
}
// setup access control
AclRule rule = service.getAclFactory().aclRule();
rule.addAction(service.getAclFactory().aclAction(AclAction.ACTION_VIEW,
AclAction.PERMISSION_GRANT));
// check privacy settings
String visibilityValue = privacyAttachmentPanel.getPrivacyValue();
if (visibilityValue.equals(uiText.Everyone())) {
rule.addSubject(service.getAclFactory().aclSubject(null,
AclSubject.EVERYONE));
} else {
rule.addSubject(service.getAclFactory().aclSubject(visibilityValue,
AclSubject.GROUP));
}
entry.addAclRule(rule);
// we got everything we need -> clean up UI
reset();
// Prepare a task to monitor status