/*
* Copyright (C) 2003-2011 eXo Platform SAS.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.exoplatform.social.core.storage.synchronization;
import org.exoplatform.social.core.ActivityProcessor;
import org.exoplatform.social.core.activity.model.ExoSocialActivity;
import org.exoplatform.social.core.identity.model.Identity;
import org.exoplatform.social.core.storage.ActivityStorageException;
import org.exoplatform.social.core.storage.impl.ActivityStorageImpl;
import org.exoplatform.social.core.storage.api.IdentityStorage;
import org.exoplatform.social.core.storage.api.RelationshipStorage;
import org.exoplatform.social.core.storage.api.SpaceStorage;
import java.util.List;
import java.util.SortedSet;
/**
* @author <a href="mailto:alain.defrance@exoplatform.com">Alain Defrance</a>
* @version $Revision$
*/
public class SynchronizedActivityStorage extends ActivityStorageImpl {
public SynchronizedActivityStorage(
final RelationshipStorage relationshipStorage,
final IdentityStorage identityStorage,
final SpaceStorage spaceStorage) {
super(relationshipStorage, identityStorage, spaceStorage);
}
/**
* {@inheritDoc}
*/
@Override
public ExoSocialActivity getActivity(final String activityId) throws ActivityStorageException {
boolean created = startSynchronization();
try {
return super.getActivity(activityId);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getUserActivities(final Identity owner) throws ActivityStorageException {
boolean created = startSynchronization();
try {
return super.getUserActivities(owner);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getUserActivities(final Identity owner, final long offset, final long limit) throws ActivityStorageException {
boolean created = startSynchronization();
try {
return super.getUserActivities(owner, offset, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public void saveComment(final ExoSocialActivity activity, final ExoSocialActivity comment) throws ActivityStorageException {
boolean created = startSynchronization();
try {
super.saveComment(activity, comment);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public ExoSocialActivity saveActivity(final Identity owner, final ExoSocialActivity activity) throws ActivityStorageException {
boolean created = startSynchronization();
try {
return super.saveActivity(owner, activity);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public ExoSocialActivity getParentActivity(final ExoSocialActivity comment) throws ActivityStorageException {
boolean created = startSynchronization();
try {
return super.getParentActivity(comment);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public void deleteActivity(final String activityId) throws ActivityStorageException {
boolean created = startSynchronization();
try {
super.deleteActivity(activityId);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public void deleteComment(final String activityId, final String commentId) throws ActivityStorageException {
boolean created = startSynchronization();
try {
super.deleteComment(activityId, commentId);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getActivitiesOfIdentities(final List<Identity> connectionList, final long offset, final long limit) throws ActivityStorageException {
boolean created = startSynchronization();
try {
return super.getActivitiesOfIdentities(connectionList, offset, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getActivitiesOfIdentities(final List<Identity> connectionList, final TimestampType type, final long offset, final long limit) throws ActivityStorageException {
boolean created = startSynchronization();
try {
return super.getActivitiesOfIdentities(connectionList, type, offset, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfUserActivities(final Identity owner) throws ActivityStorageException {
boolean created = startSynchronization();
try {
return super.getNumberOfUserActivities(owner);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfNewerOnUserActivities(final Identity ownerIdentity, final ExoSocialActivity baseActivity) {
boolean created = startSynchronization();
try {
return super.getNumberOfNewerOnUserActivities(ownerIdentity, baseActivity);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getNewerOnUserActivities(final Identity ownerIdentity, final ExoSocialActivity baseActivity, final int limit) {
boolean created = startSynchronization();
try {
return super.getNewerOnUserActivities(ownerIdentity, baseActivity, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfOlderOnUserActivities(final Identity ownerIdentity, final ExoSocialActivity baseActivity) {
boolean created = startSynchronization();
try {
return super.getNumberOfOlderOnUserActivities(ownerIdentity, baseActivity);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getOlderOnUserActivities(final Identity ownerIdentity, final ExoSocialActivity baseActivity, final int limit) {
boolean created = startSynchronization();
try {
return super.getOlderOnUserActivities(ownerIdentity, baseActivity, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getActivityFeed(final Identity ownerIdentity, final int offset, final int limit) {
boolean created = startSynchronization();
try {
return super.getActivityFeed(ownerIdentity, offset, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfActivitesOnActivityFeed(final Identity ownerIdentity) {
boolean created = startSynchronization();
try {
return super.getNumberOfActivitesOnActivityFeed(ownerIdentity);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfNewerOnActivityFeed(final Identity ownerIdentity, final ExoSocialActivity baseActivity) {
boolean created = startSynchronization();
try {
return super.getNumberOfNewerOnActivityFeed(ownerIdentity, baseActivity);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getNewerOnActivityFeed(final Identity ownerIdentity, final ExoSocialActivity baseActivity, final int limit) {
boolean created = startSynchronization();
try {
return super.getNewerOnActivityFeed(ownerIdentity, baseActivity, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfOlderOnActivityFeed(final Identity ownerIdentity, final ExoSocialActivity baseActivity) {
boolean created = startSynchronization();
try {
return super.getNumberOfOlderOnActivityFeed(ownerIdentity, baseActivity);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getOlderOnActivityFeed(final Identity ownerIdentity, final ExoSocialActivity baseActivity, final int limit) {
boolean created = startSynchronization();
try {
return super.getOlderOnActivityFeed(ownerIdentity, baseActivity, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getActivitiesOfConnections(final Identity ownerIdentity, final int offset, final int limit) {
boolean created = startSynchronization();
try {
return super.getActivitiesOfConnections(ownerIdentity, offset, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfActivitiesOfConnections(final Identity ownerIdentity) {
boolean created = startSynchronization();
try {
return super.getNumberOfActivitiesOfConnections(ownerIdentity);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getActivitiesOfIdentity(final Identity ownerIdentity, final long offset, final long limit) throws ActivityStorageException {
boolean created = startSynchronization();
try {
return super.getActivitiesOfIdentity(ownerIdentity, offset, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfNewerOnActivitiesOfConnections(final Identity ownerIdentity, final ExoSocialActivity baseActivity) {
boolean created = startSynchronization();
try {
return super.getNumberOfNewerOnActivitiesOfConnections(ownerIdentity, baseActivity);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getNewerOnActivitiesOfConnections(final Identity ownerIdentity, final ExoSocialActivity baseActivity, final long limit) {
boolean created = startSynchronization();
try {
return super.getNewerOnActivitiesOfConnections(ownerIdentity, baseActivity, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfOlderOnActivitiesOfConnections(final Identity ownerIdentity, final ExoSocialActivity baseActivity) {
boolean created = startSynchronization();
try {
return super.getNumberOfOlderOnActivitiesOfConnections(ownerIdentity, baseActivity);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getOlderOnActivitiesOfConnections(final Identity ownerIdentity, final ExoSocialActivity baseActivity, final int limit) {
boolean created = startSynchronization();
try {
return super.getOlderOnActivitiesOfConnections(ownerIdentity, baseActivity, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getUserSpacesActivities(final Identity ownerIdentity, final int offset, final int limit) {
boolean created = startSynchronization();
try {
return super.getUserSpacesActivities(ownerIdentity, offset, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfUserSpacesActivities(final Identity ownerIdentity) {
boolean created = startSynchronization();
try {
return super.getNumberOfUserSpacesActivities(ownerIdentity);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfNewerOnUserSpacesActivities(final Identity ownerIdentity, final ExoSocialActivity baseActivity) {
boolean created = startSynchronization();
try {
return super.getNumberOfNewerOnUserSpacesActivities(ownerIdentity, baseActivity);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getNewerOnUserSpacesActivities(final Identity ownerIdentity, final ExoSocialActivity baseActivity, final int limit) {
boolean created = startSynchronization();
try {
return super.getNewerOnUserSpacesActivities(ownerIdentity, baseActivity, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfOlderOnUserSpacesActivities(final Identity ownerIdentity, final ExoSocialActivity baseActivity) {
boolean created = startSynchronization();
try {
return super.getNumberOfOlderOnUserSpacesActivities(ownerIdentity, baseActivity);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getOlderOnUserSpacesActivities(final Identity ownerIdentity, final ExoSocialActivity baseActivity, final int limit) {
boolean created = startSynchronization();
try {
return super.getOlderOnUserSpacesActivities(ownerIdentity, baseActivity, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getComments(final ExoSocialActivity existingActivity, final int offset, final int limit) {
boolean created = startSynchronization();
try {
return super.getComments(existingActivity, offset, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfComments(final ExoSocialActivity existingActivity) {
boolean created = startSynchronization();
try {
return super.getNumberOfComments(existingActivity);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfNewerComments(final ExoSocialActivity existingActivity, final ExoSocialActivity baseComment) {
boolean created = startSynchronization();
try {
return super.getNumberOfNewerComments(existingActivity, baseComment);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getNewerComments(final ExoSocialActivity existingActivity, final ExoSocialActivity baseComment, final int limit) {
boolean created = startSynchronization();
try {
return super.getNewerComments(existingActivity, baseComment, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public int getNumberOfOlderComments(final ExoSocialActivity existingActivity, final ExoSocialActivity baseComment) {
boolean created = startSynchronization();
try {
return super.getNumberOfOlderComments(existingActivity, baseComment);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public List<ExoSocialActivity> getOlderComments(final ExoSocialActivity existingActivity, final ExoSocialActivity baseComment, final int limit) {
boolean created = startSynchronization();
try {
return super.getOlderComments(existingActivity, baseComment, limit);
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public SortedSet<ActivityProcessor> getActivityProcessors() {
boolean created = startSynchronization();
try {
return super.getActivityProcessors();
}
finally {
stopSynchronization(created);
}
}
/**
* {@inheritDoc}
*/
@Override
public void updateActivity(final ExoSocialActivity existingActivity) throws ActivityStorageException {
boolean created = startSynchronization();
try {
super.updateActivity(existingActivity);
}
finally {
stopSynchronization(created);
}
}
}