/* * 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); } } }