package com.acme.samples.activitytype;
import org.exoplatform.container.PortalContainer;
import org.exoplatform.services.security.ConversationState;
import org.exoplatform.social.core.identity.model.Identity;
import org.exoplatform.social.core.identity.provider.OrganizationIdentityProvider;
import org.exoplatform.social.core.activity.model.ExoSocialActivity;
import org.exoplatform.social.core.activity.model.ExoSocialActivityImpl;
import org.exoplatform.social.core.manager.ActivityManager;
import org.exoplatform.social.core.manager.IdentityManager;
import org.exoplatform.wiki.service.listener.PageWikiListener;
import org.exoplatform.wiki.mow.api.Page;
public class GenerateActivity4Testing extends PageWikiListener {
public static final String ACTIVITY_TYPE = "test-activity-type";
private void generateActivity() throws Exception {
// Get current user and assign to ownerStream
String username = ConversationState.getCurrent().getIdentity().getUserId();
IdentityManager identityM =
(IdentityManager) PortalContainer.getInstance().getComponentInstanceOfType(IdentityManager.class);
Identity userIdentity = identityM.getOrCreateIdentity(OrganizationIdentityProvider.NAME, username, false);
Identity ownerStream = userIdentity;
// New activity
ExoSocialActivityImpl activity = new ExoSocialActivityImpl();
activity.setUserId(userIdentity.getId());
activity.setTitle("This is an activity of type <b>" + ACTIVITY_TYPE + "</b>.");
activity.setBody("This is for testing");
activity.setType(ACTIVITY_TYPE);
// Save activity
ActivityManager activityM =
(ActivityManager) PortalContainer.getInstance().getComponentInstanceOfType(ActivityManager.class);
activityM.saveActivityNoReturn(ownerStream, activity);
}
@Override
public void postAddPage(String wikiType, String wikiOwner, String pageId, Page page) throws Exception {
generateActivity();
}
@Override
public void postDeletePage(String wikiType, String wikiOwner, String pageId, Page page) throws Exception {
}
@Override
public void postUpdatePage(String wikiType, String wikiOwner, String pageId, Page page, String wikiUpdateType) throws Exception {
}
}