Interface SocialActivityCounterLocalService

All Superinterfaces:
BaseLocalService, CTService<SocialActivityCounter>, PersistedModelLocalService
All Known Implementing Classes:
SocialActivityCounterLocalServiceWrapper

Provides the local service interface for SocialActivityCounter. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
Author:
Brian Wing Shun Chan
See Also:
{$generated.description}
  • Method Details

    • addActivityCounter

      SocialActivityCounter addActivityCounter(long groupId, long classNameId, long classPK, String name, int ownerType, int totalValue, long previousActivityCounterId, int periodLength) throws PortalException
      Adds an activity counter specifying a previous activity and period length.

      This method uses the lock service to guard against multiple threads trying to insert the same counter because this service is called asynchronously from the social activity service.

      Parameters:
      groupId - the primary key of the group
      classNameId - the primary key of the entity's class this counter belongs to
      classPK - the primary key of the entity this counter belongs to
      name - the counter name
      ownerType - the counter's owner type. Acceptable values are TYPE_ACTOR, TYPE_ASSET and TYPE_CREATOR defined in SocialActivityCounterConstants.
      totalValue - the counter's total value (optionally 0)
      previousActivityCounterId - the primary key of the activity counter for the previous time period (optionally 0, if this is the first)
      periodLength - the period length in days, PERIOD_LENGTH_INFINITE for never ending counters or PERIOD_LENGTH_SYSTEM for the period length defined in portal-ext.properties. For more information see SocialActivityCounterConstants.
      Returns:
      the added activity counter
      Throws:
      PortalException
    • addActivityCounters

      void addActivityCounters(SocialActivity activity) throws PortalException
      Adds or increments activity counters related to an activity.

      This method is called asynchronously from the social activity service when the user performs an activity defined in liferay-social.xml.

      This method first calls the activity processor class, if there is one defined for the activity, checks for limits and increments all the counters that belong to the activity. Afterwards, it processes the activity with respect to achievement classes, if any. Lastly it increments the built-in user.activities and asset.activities counters.

      Parameters:
      activity - the social activity
      Throws:
      PortalException
    • addSocialActivityCounter

      @Indexable(type=REINDEX) SocialActivityCounter addSocialActivityCounter(SocialActivityCounter socialActivityCounter)
      Adds the social activity counter to the database. Also notifies the appropriate model listeners.

      Important: Inspect SocialActivityCounterLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      socialActivityCounter - the social activity counter
      Returns:
      the social activity counter that was added
    • createPersistedModel

      PersistedModel createPersistedModel(Serializable primaryKeyObj) throws PortalException
      Specified by:
      createPersistedModel in interface PersistedModelLocalService
      Throws:
      PortalException
    • createSocialActivityCounter

      @Transactional(enabled=false) SocialActivityCounter createSocialActivityCounter(long activityCounterId)
      Creates a new social activity counter with the primary key. Does not add the social activity counter to the database.
      Parameters:
      activityCounterId - the primary key for the new social activity counter
      Returns:
      the new social activity counter
    • deleteActivityCounters

      void deleteActivityCounters(AssetEntry assetEntry) throws PortalException
      Deletes all activity counters, limits, and settings related to the asset.

      This method subtracts the asset's popularity from the owner's contribution points. It also creates a new contribution period if the latest one does not belong to the current period.

      Parameters:
      assetEntry - the asset entry
      Throws:
      PortalException
    • deleteActivityCounters

      void deleteActivityCounters(long classNameId, long classPK) throws PortalException
      Deletes all activity counters, limits, and settings related to the entity identified by the class name ID and class primary key.
      Parameters:
      classNameId - the primary key of the entity's class
      classPK - the primary key of the entity
      Throws:
      PortalException
    • deleteActivityCounters

      void deleteActivityCounters(String className, long classPK) throws PortalException
      Deletes all activity counters for the entity identified by the class name and class primary key.
      Parameters:
      className - the entity's class name
      classPK - the primary key of the entity
      Throws:
      PortalException
    • deletePersistedModel

      PersistedModel deletePersistedModel(PersistedModel persistedModel) throws PortalException
      Specified by:
      deletePersistedModel in interface PersistedModelLocalService
      Throws:
      PortalException
    • deleteSocialActivityCounter

      @Indexable(type=DELETE) SocialActivityCounter deleteSocialActivityCounter(long activityCounterId) throws PortalException
      Deletes the social activity counter with the primary key from the database. Also notifies the appropriate model listeners.

      Important: Inspect SocialActivityCounterLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      activityCounterId - the primary key of the social activity counter
      Returns:
      the social activity counter that was removed
      Throws:
      PortalException - if a social activity counter with the primary key could not be found
    • deleteSocialActivityCounter

      @Indexable(type=DELETE) SocialActivityCounter deleteSocialActivityCounter(SocialActivityCounter socialActivityCounter)
      Deletes the social activity counter from the database. Also notifies the appropriate model listeners.

      Important: Inspect SocialActivityCounterLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      socialActivityCounter - the social activity counter
      Returns:
      the social activity counter that was removed
    • disableActivityCounters

      void disableActivityCounters(long classNameId, long classPK) throws PortalException
      Disables all the counters of an asset identified by the class name ID and class primary key.

      This method is used by the recycle bin to disable all counters of assets put into the recycle bin. It adjusts the owner's contribution score.

      Parameters:
      classNameId - the primary key of the asset's class
      classPK - the primary key of the asset
      Throws:
      PortalException
    • disableActivityCounters

      void disableActivityCounters(String className, long classPK) throws PortalException
      Disables all the counters of an asset identified by the class name and class primary key.

      This method is used by the recycle bin to disable all counters of assets put into the recycle bin. It adjusts the owner's contribution score.

      Parameters:
      className - the asset's class name
      classPK - the primary key of the asset
      Throws:
      PortalException
    • dslQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> T dslQuery(com.liferay.petra.sql.dsl.query.DSLQuery dslQuery)
      Specified by:
      dslQuery in interface PersistedModelLocalService
    • dslQueryCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int dslQueryCount(com.liferay.petra.sql.dsl.query.DSLQuery dslQuery)
      Specified by:
      dslQueryCount in interface PersistedModelLocalService
    • dynamicQuery

    • dynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(DynamicQuery dynamicQuery)
      Performs a dynamic query on the database and returns the matching rows.
      Parameters:
      dynamicQuery - the dynamic query
      Returns:
      the matching rows
    • dynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start, int end)
      Performs a dynamic query on the database and returns a range of the matching rows.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent, then the query will include the default ORDER BY logic from com.liferay.portlet.social.model.impl.SocialActivityCounterModelImpl.

      Parameters:
      dynamicQuery - the dynamic query
      start - the lower bound of the range of model instances
      end - the upper bound of the range of model instances (not inclusive)
      Returns:
      the range of matching rows
    • dynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start, int end, OrderByComparator<T> orderByComparator)
      Performs a dynamic query on the database and returns an ordered range of the matching rows.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent, then the query will include the default ORDER BY logic from com.liferay.portlet.social.model.impl.SocialActivityCounterModelImpl.

      Parameters:
      dynamicQuery - the dynamic query
      start - the lower bound of the range of model instances
      end - the upper bound of the range of model instances (not inclusive)
      orderByComparator - the comparator to order the results by (optionally null)
      Returns:
      the ordered range of matching rows
    • dynamicQueryCount

      @Transactional(propagation=SUPPORTS, readOnly=true) long dynamicQueryCount(DynamicQuery dynamicQuery)
      Returns the number of rows matching the dynamic query.
      Parameters:
      dynamicQuery - the dynamic query
      Returns:
      the number of rows matching the dynamic query
    • dynamicQueryCount

      @Transactional(propagation=SUPPORTS, readOnly=true) long dynamicQueryCount(DynamicQuery dynamicQuery, Projection projection)
      Returns the number of rows matching the dynamic query.
      Parameters:
      dynamicQuery - the dynamic query
      projection - the projection to apply to the query
      Returns:
      the number of rows matching the dynamic query
    • enableActivityCounters

      void enableActivityCounters(long classNameId, long classPK) throws PortalException
      Enables all activity counters of an asset identified by the class name ID and class primary key.

      This method is used by the recycle bin to enable all counters of assets restored from the recycle bin. It adjusts the owner's contribution score.

      Parameters:
      classNameId - the primary key of the asset's class
      classPK - the primary key of the asset
      Throws:
      PortalException
    • enableActivityCounters

      void enableActivityCounters(String className, long classPK) throws PortalException
      Enables all the counters of an asset identified by the class name and class primary key.

      This method is used by the recycle bin to enable all counters of assets restored from the recycle bin. It adjusts the owner's contribution score.

      Parameters:
      className - the asset's class name
      classPK - the primary key of the asset
      Throws:
      PortalException
    • fetchActivityCounterByEndPeriod

      @Transactional(propagation=SUPPORTS, readOnly=true) SocialActivityCounter fetchActivityCounterByEndPeriod(long groupId, long classNameId, long classPK, String name, int ownerType, int endPeriod)
      Returns the activity counter with the given name, owner, and end period that belong to the given entity.
      Parameters:
      groupId - the primary key of the group
      classNameId - the primary key of the entity's class
      classPK - the primary key of the entity
      name - the counter name
      ownerType - the owner type
      endPeriod - the end period, -1 for the latest one
      Returns:
      the matching activity counter
    • fetchActivityCounterByStartPeriod

      @Transactional(propagation=SUPPORTS, readOnly=true) SocialActivityCounter fetchActivityCounterByStartPeriod(long groupId, long classNameId, long classPK, String name, int ownerType, int startPeriod)
      Returns the activity counter with the given name, owner, and start period that belong to the given entity.
      Parameters:
      groupId - the primary key of the group
      classNameId - the primary key of the entity's class
      classPK - the primary key of the entity
      name - the counter name
      ownerType - the owner type
      startPeriod - the start period
      Returns:
      the matching activity counter
    • fetchLatestActivityCounter

      @Transactional(propagation=SUPPORTS, readOnly=true) SocialActivityCounter fetchLatestActivityCounter(long groupId, long classNameId, long classPK, String name, int ownerType)
      Returns the latest activity counter with the given name and owner that belong to the given entity.
      Parameters:
      groupId - the primary key of the group
      classNameId - the primary key of the entity's class
      classPK - the primary key of the entity
      name - the counter name
      ownerType - the owner type
      Returns:
      the matching activity counter
    • fetchSocialActivityCounter

      @Transactional(propagation=SUPPORTS, readOnly=true) SocialActivityCounter fetchSocialActivityCounter(long activityCounterId)
    • getActionableDynamicQuery

    • getIndexableActionableDynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) IndexableActionableDynamicQuery getIndexableActionableDynamicQuery()
    • getOffsetActivityCounters

      @Transactional(propagation=SUPPORTS, readOnly=true) List<SocialActivityCounter> getOffsetActivityCounters(long groupId, String name, int startOffset, int endOffset)
      Returns all the activity counters with the given name and period offsets.

      The start and end offsets can belong to different periods. This method groups the counters by name and returns the sum of their current values.

      Parameters:
      groupId - the primary key of the group
      name - the counter name
      startOffset - the offset for the start period
      endOffset - the offset for the end period
      Returns:
      the matching activity counters
    • getOffsetDistributionActivityCounters

      @Transactional(propagation=SUPPORTS, readOnly=true) List<SocialActivityCounter> getOffsetDistributionActivityCounters(long groupId, String name, int startOffset, int endOffset)
      Returns the distribution of the activity counters with the given name and period offsets.

      The start and end offsets can belong to different periods. This method groups the counters by their owner entity (usually some asset) and returns a counter for each entity class with the sum of the counters' current values.

      Parameters:
      groupId - the primary key of the group
      name - the counter name
      startOffset - the offset for the start period
      endOffset - the offset for the end period
      Returns:
      the distribution of matching activity counters
    • getOSGiServiceIdentifier

      String getOSGiServiceIdentifier()
      Returns the OSGi service identifier.
      Returns:
      the OSGi service identifier
    • getPeriodActivityCounters

      @Transactional(propagation=SUPPORTS, readOnly=true) List<SocialActivityCounter> getPeriodActivityCounters(long groupId, String name, int startPeriod, int endPeriod)
      Returns all the activity counters with the given name and time period.

      The start and end period values can belong to different periods. This method groups the counters by name and returns the sum of their current values.

      Parameters:
      groupId - the primary key of the group
      name - the counter name
      startPeriod - the start period
      endPeriod - the end period
      Returns:
      the matching activity counters
    • getPeriodDistributionActivityCounters

      @Transactional(propagation=SUPPORTS, readOnly=true) List<SocialActivityCounter> getPeriodDistributionActivityCounters(long groupId, String name, int startPeriod, int endPeriod)
      Returns the distribution of activity counters with the given name and time period.

      The start and end period values can belong to different periods. This method groups the counters by their owner entity (usually some asset) and returns a counter for each entity class with the sum of the counters' current values.

      Parameters:
      groupId - the primary key of the group
      name - the counter name
      startPeriod - the start period
      endPeriod - the end period
      Returns:
      the distribution of matching activity counters
    • getPersistedModel

      @Transactional(propagation=SUPPORTS, readOnly=true) PersistedModel getPersistedModel(Serializable primaryKeyObj) throws PortalException
      Specified by:
      getPersistedModel in interface PersistedModelLocalService
      Throws:
      PortalException
    • getSocialActivityCounter

      @Transactional(propagation=SUPPORTS, readOnly=true) SocialActivityCounter getSocialActivityCounter(long activityCounterId) throws PortalException
      Returns the social activity counter with the primary key.
      Parameters:
      activityCounterId - the primary key of the social activity counter
      Returns:
      the social activity counter
      Throws:
      PortalException - if a social activity counter with the primary key could not be found
    • getSocialActivityCounters

      @Transactional(propagation=SUPPORTS, readOnly=true) List<SocialActivityCounter> getSocialActivityCounters(int start, int end)
      Returns a range of all the social activity counters.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent, then the query will include the default ORDER BY logic from com.liferay.portlet.social.model.impl.SocialActivityCounterModelImpl.

      Parameters:
      start - the lower bound of the range of social activity counters
      end - the upper bound of the range of social activity counters (not inclusive)
      Returns:
      the range of social activity counters
    • getSocialActivityCountersCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int getSocialActivityCountersCount()
      Returns the number of social activity counters.
      Returns:
      the number of social activity counters
    • getUserActivityCounters

      @Transactional(propagation=SUPPORTS, readOnly=true) List<Tuple> getUserActivityCounters(long groupId, String[] rankingNames, String[] selectedNames, int start, int end)
      Returns the range of tuples that contain users and a list of activity counters.

      The counters returned for each user are passed to this method in the selectedNames array. The method also accepts an array of counter names that are used to rank the users.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to QueryUtil#ALL_POS will return the full result set.

      Parameters:
      groupId - the primary key of the group
      rankingNames - the ranking counter names
      selectedNames - the counter names that will be returned with each user
      start - the lower bound of the range of results
      end - the upper bound of the range of results (not inclusive)
      Returns:
      the range of matching tuples
    • getUserActivityCountersCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int getUserActivityCountersCount(long groupId, String[] rankingNames)
      Returns the number of users having a rank based on the given counters.
      Parameters:
      groupId - the primary key of the group
      rankingNames - the ranking counter names
      Returns:
      the number of matching users
    • incrementUserAchievementCounter

      void incrementUserAchievementCounter(long userId, long groupId) throws PortalException
      Increments the user.achievements counter for a user.

      This method should be used by an external achievement class when the users unlocks an achievement.

      Parameters:
      userId - the primary key of the user
      groupId - the primary key of the group
      Throws:
      PortalException
    • updateSocialActivityCounter

      @Indexable(type=REINDEX) SocialActivityCounter updateSocialActivityCounter(SocialActivityCounter socialActivityCounter)
      Updates the social activity counter in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.

      Important: Inspect SocialActivityCounterLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      socialActivityCounter - the social activity counter
      Returns:
      the social activity counter that was updated
    • getCTPersistence

      Specified by:
      getCTPersistence in interface CTService<SocialActivityCounter>
    • getModelClass

      Specified by:
      getModelClass in interface CTService<SocialActivityCounter>
    • updateWithUnsafeFunction

      @Transactional(rollbackFor=java.lang.Throwable.class) <R, E extends Throwable> R updateWithUnsafeFunction(com.liferay.petra.function.UnsafeFunction<CTPersistence<SocialActivityCounter>,R,E> updateUnsafeFunction) throws E
      Specified by:
      updateWithUnsafeFunction in interface CTService<SocialActivityCounter>
      Throws:
      E extends Throwable