JBoss.orgCommunity Documentation
package org.exoplatform.publish.space;
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.provider.OrganizationIdentityProvider;
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.space.model.Space;
import org.exoplatform.social.core.space.SpaceException;
import org.exoplatform.social.core.space.spi.SpaceService;
import org.exoplatform.social.core.identity.provider.SpaceIdentityProvider;
public class PublishActivityForSpace {
// Exo Log.
private final Log LOG = ExoLogger.getLogger(PublishActivityForSpace.class);
// Portal container.
private PortalContainer container;
// identityManager manages identities.
private IdentityManager identityManager;
// activityManager manages activities.
private ActivityManager activityManager;
// spaceService manages spaces.
private SpaceService spaceService;
private final static String DEFAULT_NAME_SPACE = "mySpace";
private final static String DEFAULT_USER_NAME = "zun";
private final static String DEFAULT_ACTIVITY_TITLE = "An activity for space";
/**
* Constructor method.
*/
public PublishActivityForSpace() {
// Gets the current container.
container = PortalContainer.getInstance();
// Gets identityManager to manage identities.
identityManager = (IdentityManager) container.getComponentInstance(IdentityManager.class);
// Gets activityManager to manage activities.
activityManager = (ActivityManager) container.getComponentInstanceOfType(ActivityManager.class);
// Gets spaceService to handle the operation of a space.
spaceService = (SpaceService) container.getComponentInstanceOfType(SpaceService.class);
}
public void createActivityForSpace() {
try {
// make sure that a space with the name "mySpace" is created.
Space space = spaceService.getSpaceByDisplayName(DEFAULT_NAME_SPACE);
if (space != null) {
// Gets spaceIdentity if it already exists. If not, a new one is created.
Identity spaceIdentity = identityManager.getOrCreateIdentity(SpaceIdentityProvider.NAME, DEFAULT_NAME_SPACE, false);
// Gets an identity if it already exists. If not, a new one is created.
Identity userIdentity = identityManager.getOrCreateIdentity(OrganizationIdentityProvider.NAME, DEFAULT_USER_NAME, false);
// Creates a new activity for this space.
ExoSocialActivity activity = new ExoSocialActivityImpl();
activity.setUserId(userIdentity.getId());
activity.setTitle(DEFAULT_ACTIVITY_TITLE);
activityManager.saveActivity(spaceIdentity, activity);
}
} catch (SpaceException e) {
LOG.error("Can not save activity.", e);
} catch (Exception e) {
LOG.error("Can not save activity.", e);
}
}
}