package org.exoplatform.platform.common.space.listeners;
import org.exoplatform.container.xml.InitParams;
import org.exoplatform.container.xml.ValueParam;
import org.exoplatform.platform.common.space.SpaceCustomizationService;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
import org.exoplatform.social.core.space.SpaceListenerPlugin;
import org.exoplatform.social.core.space.impl.SpaceServiceImpl;
import org.exoplatform.social.core.space.spi.SpaceLifeCycleEvent;
public class CustomizeSpaceDriveListener extends SpaceListenerPlugin {
private static final String SPACE_DRIVE_VIEW = "space.drive.view";
private SpaceCustomizationService spaceCustomizationService = null;
private String viewNodeName = null;
private static final Log LOG = ExoLogger.getExoLogger(CustomizeSpaceDriveListener.class);
public CustomizeSpaceDriveListener(SpaceCustomizationService spaceCustomizationService_, InitParams params) {
this.spaceCustomizationService = spaceCustomizationService_;
ValueParam viewParamName = params.getValueParam(SPACE_DRIVE_VIEW);
if (viewParamName != null) {
viewNodeName = viewParamName.getValue();
} else {
LOG.warn("No such property found: " + SPACE_DRIVE_VIEW + "\nPlease make sure to have the correct ECMS view name.");
}
}
@Override
public void spaceCreated(SpaceLifeCycleEvent event) {
String groupId = event.getSpace().getGroupId();
String permission = SpaceServiceImpl.MANAGER + ":" + groupId;
try {
if (viewNodeName != null) {
spaceCustomizationService.editSpaceDriveViewPermissions(viewNodeName, permission);
} else {
if (LOG.isDebugEnabled()) {
LOG.debug("Can not edit view's permissions for view node: null");
}
}
} catch (Exception e) {
LOG.error("Can not edit view's permission for space drive: " + groupId, e);
}
}
@Override
public void applicationActivated(SpaceLifeCycleEvent event) {}
@Override
public void applicationAdded(SpaceLifeCycleEvent event) {}
@Override
public void applicationDeactivated(SpaceLifeCycleEvent event) {}
@Override
public void applicationRemoved(SpaceLifeCycleEvent event) {}
@Override
public void grantedLead(SpaceLifeCycleEvent event) {}
@Override
public void joined(SpaceLifeCycleEvent event) {}
@Override
public void left(SpaceLifeCycleEvent event) {}
@Override
public void revokedLead(SpaceLifeCycleEvent event) {}
@Override
public void spaceRemoved(SpaceLifeCycleEvent event) {}
@Override
public void spaceRenamed(SpaceLifeCycleEvent event) {}
@Override
public void spaceDescriptionEdited(SpaceLifeCycleEvent event) {}
@Override
public void spaceAvatarEdited(SpaceLifeCycleEvent event) {}
@Override
public void spaceAccessEdited(SpaceLifeCycleEvent event) {
}
@Override
public void addInvitedUser(SpaceLifeCycleEvent event) {
}
@Override
public void addPendingUser(SpaceLifeCycleEvent event) {
}
}