JBoss.orgCommunity Documentation
package org.exoplatform.publish.user;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
import org.exoplatform.container.PortalContainer;
import org.exoplatform.social.core.manager.ActivityManager;
import org.exoplatform.social.core.manager.IdentityManager;
import org.exoplatform.social.core.identity.model.Identity;
import org.exoplatform.social.core.activity.model.ExoSocialActivity;
import org.exoplatform.social.core.activity.model.ExoSocialActivityImpl;
import org.exoplatform.social.core.identity.provider.OrganizationIdentityProvider;
public class PublishActivityForUser {
// Exo Log.
private final Log LOG = ExoLogger.getLogger(PublishActivityForUser.class);
// Portal container.
private PortalContainer container;
// identityManager manages identities.
private IdentityManager identityManager;
// activityManager manages activities.
private ActivityManager activityManager;
private final static String DEFAULT_USER_NAME = "zun";
private final static String DEFAULT_ACTIVITY_TITLE = "Hello World!";
/**
* Constructor.
*/
public PublishActivityForUser() {
// Gets the current container.
container = PortalContainer.getInstance();
// Gets identityManager to handle an identity operation.
identityManager = (IdentityManager) container.getComponentInstance(IdentityManager.class);
// Gets activityManager to handle an activity operation.
activityManager = (ActivityManager) container.getComponentInstanceOfType(ActivityManager.class);
}
public void createActivityForUser() {
try {
// Gets an existing identity or creates a new one.
Identity userIdentity = identityManager.getOrCreateIdentity(OrganizationIdentityProvider.NAME, DEFAULT_USER_NAME, false);
// Creates a new activity for this user.
ExoSocialActivity activity = new ExoSocialActivityImpl();
activity.setUserId(userIdentity.getId());
activity.setTitle(DEFAULT_ACTIVITY_TITLE);
// Saves an activity into JCR by using ActivityManager.
activityManager.saveActivity(activity);
} catch (Exception e) {
LOG.error("can not save activity.", e);
}
}
}