@ProviderType @Transactional(isolation=PORTAL, rollbackFor={PortalException.class,SystemException.class}) public interface SocialActivityCounterLocalService extends BaseLocalService, PersistedModelLocalService
SocialActivityCounterLocalServiceUtil
Modifier and Type | Method and Description |
---|---|
SocialActivityCounter |
addActivityCounter(long groupId,
long classNameId,
long classPK,
String name,
int ownerType,
int totalValue,
long previousActivityCounterId,
int periodLength)
Adds an activity counter specifying a previous activity and period
length.
|
void |
addActivityCounters(SocialActivity activity)
Adds or increments activity counters related to an activity.
|
SocialActivityCounter |
addSocialActivityCounter(SocialActivityCounter socialActivityCounter)
Adds the social activity counter to the database.
|
SocialActivityCounter |
createSocialActivityCounter(long activityCounterId)
Creates a new social activity counter with the primary key.
|
void |
deleteActivityCounters(AssetEntry assetEntry)
Deletes all activity counters, limits, and settings related to the asset.
|
void |
deleteActivityCounters(long classNameId,
long classPK)
Deletes all activity counters, limits, and settings related to the entity
identified by the class name ID and class primary key.
|
void |
deleteActivityCounters(String className,
long classPK)
Deletes all activity counters for the entity identified by the class name
and class primary key.
|
PersistedModel |
deletePersistedModel(PersistedModel persistedModel) |
SocialActivityCounter |
deleteSocialActivityCounter(long activityCounterId)
Deletes the social activity counter with the primary key from the database.
|
SocialActivityCounter |
deleteSocialActivityCounter(SocialActivityCounter socialActivityCounter)
Deletes the social activity counter from the database.
|
void |
disableActivityCounters(long classNameId,
long classPK)
Disables all the counters of an asset identified by the class name ID and
class primary key.
|
void |
disableActivityCounters(String className,
long classPK)
Disables all the counters of an asset identified by the class name and
class primary key.
|
DynamicQuery |
dynamicQuery() |
<T> List<T> |
dynamicQuery(DynamicQuery dynamicQuery)
Performs a dynamic query on the database and returns the matching rows.
|
<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.
|
<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.
|
long |
dynamicQueryCount(DynamicQuery dynamicQuery)
Returns the number of rows matching the dynamic query.
|
long |
dynamicQueryCount(DynamicQuery dynamicQuery,
Projection projection)
Returns the number of rows matching the dynamic query.
|
void |
enableActivityCounters(long classNameId,
long classPK)
Enables all activity counters of an asset identified by the class name ID
and class primary key.
|
void |
enableActivityCounters(String className,
long classPK)
Enables all the counters of an asset identified by the class name and
class primary key.
|
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.
|
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.
|
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.
|
SocialActivityCounter |
fetchSocialActivityCounter(long activityCounterId) |
ActionableDynamicQuery |
getActionableDynamicQuery() |
IndexableActionableDynamicQuery |
getIndexableActionableDynamicQuery() |
List<SocialActivityCounter> |
getOffsetActivityCounters(long groupId,
String name,
int startOffset,
int endOffset)
Returns all the activity counters with the given name and period offsets.
|
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.
|
String |
getOSGiServiceIdentifier()
Returns the OSGi service identifier.
|
List<SocialActivityCounter> |
getPeriodActivityCounters(long groupId,
String name,
int startPeriod,
int endPeriod)
Returns all the activity counters with the given name and time period.
|
List<SocialActivityCounter> |
getPeriodDistributionActivityCounters(long groupId,
String name,
int startPeriod,
int endPeriod)
Returns the distribution of activity counters with the given name and
time period.
|
PersistedModel |
getPersistedModel(Serializable primaryKeyObj) |
SocialActivityCounter |
getSocialActivityCounter(long activityCounterId)
Returns the social activity counter with the primary key.
|
List<SocialActivityCounter> |
getSocialActivityCounters(int start,
int end)
Returns a range of all the social activity counters.
|
int |
getSocialActivityCountersCount()
Returns the number of social activity counters.
|
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.
|
int |
getUserActivityCountersCount(long groupId,
String[] rankingNames)
Returns the number of users having a rank based on the given counters.
|
void |
incrementUserAchievementCounter(long userId,
long groupId)
Increments the
user.achievements counter for a user. |
SocialActivityCounter |
updateSocialActivityCounter(SocialActivityCounter socialActivityCounter)
Updates the social activity counter in the database or adds it if it does not yet exist.
|
@Transactional(propagation=REQUIRES_NEW) SocialActivityCounter addActivityCounter(long groupId, long classNameId, long classPK, String name, int ownerType, int totalValue, long previousActivityCounterId, int periodLength) throws PortalException
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.
groupId
- the primary key of the groupclassNameId
- the primary key of the entity's class this counter
belongs toclassPK
- the primary key of the entity this counter belongs toname
- the counter nameownerType
- 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
.PortalException
void addActivityCounters(SocialActivity activity) throws PortalException
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.
activity
- the social activityPortalException
@Indexable(type=REINDEX) SocialActivityCounter addSocialActivityCounter(SocialActivityCounter socialActivityCounter)
socialActivityCounter
- the social activity counter@Transactional(enabled=false) SocialActivityCounter createSocialActivityCounter(long activityCounterId)
activityCounterId
- the primary key for the new social activity countervoid deleteActivityCounters(AssetEntry assetEntry) throws PortalException
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.
assetEntry
- the asset entryPortalException
void deleteActivityCounters(long classNameId, long classPK) throws PortalException
classNameId
- the primary key of the entity's classclassPK
- the primary key of the entityPortalException
void deleteActivityCounters(String className, long classPK) throws PortalException
className
- the entity's class nameclassPK
- the primary key of the entityPortalException
PersistedModel deletePersistedModel(PersistedModel persistedModel) throws PortalException
deletePersistedModel
in interface PersistedModelLocalService
PortalException
@Indexable(type=DELETE) SocialActivityCounter deleteSocialActivityCounter(long activityCounterId) throws PortalException
activityCounterId
- the primary key of the social activity counterPortalException
- if a social activity counter with the primary key could not be found@Indexable(type=DELETE) SocialActivityCounter deleteSocialActivityCounter(SocialActivityCounter socialActivityCounter)
socialActivityCounter
- the social activity countervoid disableActivityCounters(long classNameId, long classPK) throws PortalException
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.
classNameId
- the primary key of the asset's classclassPK
- the primary key of the assetPortalException
void disableActivityCounters(String className, long classPK) throws PortalException
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.
className
- the asset's class nameclassPK
- the primary key of the assetPortalException
@Transactional(propagation=SUPPORTS, readOnly=true) DynamicQuery dynamicQuery()
@Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(DynamicQuery dynamicQuery)
dynamicQuery
- the dynamic query@Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start, int end)
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 and pagination is required (start
and end
are not com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS
), then the query will include the default ORDER BY logic from com.liferay.portlet.social.model.impl.SocialActivityCounterModelImpl
. If both orderByComparator
and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
dynamicQuery
- the dynamic querystart
- the lower bound of the range of model instancesend
- the upper bound of the range of model instances (not inclusive)@Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start, int end, OrderByComparator<T> orderByComparator)
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 and pagination is required (start
and end
are not com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS
), then the query will include the default ORDER BY logic from com.liferay.portlet.social.model.impl.SocialActivityCounterModelImpl
. If both orderByComparator
and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
dynamicQuery
- the dynamic querystart
- the lower bound of the range of model instancesend
- the upper bound of the range of model instances (not inclusive)orderByComparator
- the comparator to order the results by (optionally null
)@Transactional(propagation=SUPPORTS, readOnly=true) long dynamicQueryCount(DynamicQuery dynamicQuery)
dynamicQuery
- the dynamic query@Transactional(propagation=SUPPORTS, readOnly=true) long dynamicQueryCount(DynamicQuery dynamicQuery, Projection projection)
dynamicQuery
- the dynamic queryprojection
- the projection to apply to the queryvoid enableActivityCounters(long classNameId, long classPK) throws PortalException
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.
classNameId
- the primary key of the asset's classclassPK
- the primary key of the assetPortalException
void enableActivityCounters(String className, long classPK) throws PortalException
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.
className
- the asset's class nameclassPK
- the primary key of the assetPortalException
@Transactional(propagation=SUPPORTS, readOnly=true) SocialActivityCounter fetchActivityCounterByEndPeriod(long groupId, long classNameId, long classPK, String name, int ownerType, int endPeriod)
groupId
- the primary key of the groupclassNameId
- the primary key of the entity's classclassPK
- the primary key of the entityname
- the counter nameownerType
- the owner typeendPeriod
- the end period, -1
for the latest one@Transactional(propagation=SUPPORTS, readOnly=true) SocialActivityCounter fetchActivityCounterByStartPeriod(long groupId, long classNameId, long classPK, String name, int ownerType, int startPeriod)
groupId
- the primary key of the groupclassNameId
- the primary key of the entity's classclassPK
- the primary key of the entityname
- the counter nameownerType
- the owner typestartPeriod
- the start period@Transactional(propagation=SUPPORTS, readOnly=true) SocialActivityCounter fetchLatestActivityCounter(long groupId, long classNameId, long classPK, String name, int ownerType)
groupId
- the primary key of the groupclassNameId
- the primary key of the entity's classclassPK
- the primary key of the entityname
- the counter nameownerType
- the owner type@Transactional(propagation=SUPPORTS, readOnly=true) SocialActivityCounter fetchSocialActivityCounter(long activityCounterId)
@Transactional(propagation=SUPPORTS, readOnly=true) ActionableDynamicQuery getActionableDynamicQuery()
@Transactional(propagation=SUPPORTS, readOnly=true) IndexableActionableDynamicQuery getIndexableActionableDynamicQuery()
@Transactional(propagation=SUPPORTS, readOnly=true) List<SocialActivityCounter> getOffsetActivityCounters(long groupId, String name, int startOffset, int endOffset)
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.
groupId
- the primary key of the groupname
- the counter namestartOffset
- the offset for the start periodendOffset
- the offset for the end period@Transactional(propagation=SUPPORTS, readOnly=true) List<SocialActivityCounter> getOffsetDistributionActivityCounters(long groupId, String name, int startOffset, int endOffset)
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.
groupId
- the primary key of the groupname
- the counter namestartOffset
- the offset for the start periodendOffset
- the offset for the end periodString getOSGiServiceIdentifier()
@Transactional(propagation=SUPPORTS, readOnly=true) List<SocialActivityCounter> getPeriodActivityCounters(long groupId, String name, int startPeriod, int endPeriod)
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.
groupId
- the primary key of the groupname
- the counter namestartPeriod
- the start periodendPeriod
- the end period@Transactional(propagation=SUPPORTS, readOnly=true) List<SocialActivityCounter> getPeriodDistributionActivityCounters(long groupId, String name, int startPeriod, int endPeriod)
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.
groupId
- the primary key of the groupname
- the counter namestartPeriod
- the start periodendPeriod
- the end period@Transactional(propagation=SUPPORTS, readOnly=true) PersistedModel getPersistedModel(Serializable primaryKeyObj) throws PortalException
getPersistedModel
in interface PersistedModelLocalService
PortalException
@Transactional(propagation=SUPPORTS, readOnly=true) SocialActivityCounter getSocialActivityCounter(long activityCounterId) throws PortalException
activityCounterId
- the primary key of the social activity counterPortalException
- if a social activity counter with the primary key could not be found@Transactional(propagation=SUPPORTS, readOnly=true) List<SocialActivityCounter> getSocialActivityCounters(int start, int end)
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 and pagination is required (start
and end
are not com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS
), then the query will include the default ORDER BY logic from com.liferay.portlet.social.model.impl.SocialActivityCounterModelImpl
. If both orderByComparator
and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
start
- the lower bound of the range of social activity countersend
- the upper bound of the range of social activity counters (not inclusive)@Transactional(propagation=SUPPORTS, readOnly=true) int getSocialActivityCountersCount()
@Transactional(propagation=SUPPORTS, readOnly=true) List<Tuple> getUserActivityCounters(long groupId, String[] rankingNames, String[] selectedNames, int start, int end)
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.
groupId
- the primary key of the grouprankingNames
- the ranking counter namesselectedNames
- the counter names that will be returned with each
userstart
- the lower bound of the range of resultsend
- the upper bound of the range of results (not inclusive)@Transactional(propagation=SUPPORTS, readOnly=true) int getUserActivityCountersCount(long groupId, String[] rankingNames)
groupId
- the primary key of the grouprankingNames
- the ranking counter namesvoid incrementUserAchievementCounter(long userId, long groupId) throws PortalException
user.achievements
counter for a user.
This method should be used by an external achievement class when the users unlocks an achievement.
userId
- the primary key of the usergroupId
- the primary key of the groupPortalException
@Indexable(type=REINDEX) SocialActivityCounter updateSocialActivityCounter(SocialActivityCounter socialActivityCounter)
socialActivityCounter
- the social activity counter