|
Liferay 6.2-ce-ga5 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.liferay.portal.service.BaseLocalServiceImpl com.liferay.portlet.social.service.base.SocialActivityCounterLocalServiceBaseImpl com.liferay.portlet.social.service.impl.SocialActivityCounterLocalServiceImpl
public class SocialActivityCounterLocalServiceImpl
The social activity counter local service. This service is responsible for creating and/or incrementing counters in response to an activity. It also provides methods for querying activity counters within a time period.
Under normal circumstances only the addActivityCounters(SocialActivity)
should be called directly and even that
is usually not necessary as it is automatically called by the social activity
service.
Field Summary |
---|
Fields inherited from class com.liferay.portal.service.BaseLocalServiceImpl |
---|
layoutPersistence |
Constructor Summary | |
---|---|
SocialActivityCounterLocalServiceImpl()
|
Method Summary | |
---|---|
SocialActivityCounter |
addActivityCounter(long groupId,
long classNameId,
long classPK,
String name,
int ownerType,
int currentValue,
int totalValue,
int startPeriod,
int endPeriod)
Deprecated. As of 6.2.0, replaced by addActivityCounter(long,
long, long, String, int, int, long, int) |
SocialActivityCounter |
addActivityCounter(long groupId,
long classNameId,
long classPK,
String name,
int ownerType,
int currentValue,
int totalValue,
int startPeriod,
int endPeriod,
long previousActivityCounterId,
int periodLength)
Deprecated. As of 6.2.0, replaced by addActivityCounter(long,
long, long, String, int, int, long, int) |
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. |
protected SocialActivityCounter |
addActivityCounter(long groupId,
User user,
SocialActivity activity,
SocialActivityCounterDefinition activityCounterDefinition)
|
void |
addActivityCounters(SocialActivity activity)
Adds or increments activity counters related to an activity. |
protected SocialActivityCounter |
addAssetActivitiesCounter(SocialActivity activity)
|
protected SocialActivityCounter |
addUserActivitiesCounter(SocialActivity activity)
|
protected void |
adjustUserContribution(AssetEntry assetEntry,
boolean enable)
|
protected boolean |
checkActivityLimit(User user,
SocialActivity activity,
SocialActivityCounterDefinition activityCounterDefinition)
|
protected void |
clearFinderCache()
|
SocialActivityCounter |
createActivityCounter(long groupId,
long classNameId,
long classPK,
String name,
int ownerType,
int currentValue,
int totalValue,
int startPeriod,
int endPeriod)
Deprecated. As of 6.2.0, replaced by addActivityCounter(long,
long, long, String, int, int, long, int) |
SocialActivityCounter |
createActivityCounter(long groupId,
long classNameId,
long classPK,
String name,
int ownerType,
int currentValue,
int totalValue,
int startPeriod,
int endPeriod,
long previousActivityCounterId,
int periodLength)
Deprecated. As of 6.2.0, replaced by addActivityCounter(long,
long, long, String, int, int, long, int) |
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. |
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. |
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. |
protected long |
getClassNameId(AssetEntry assetEntry,
int ownerType)
|
protected long |
getClassPK(User user,
AssetEntry assetEntry,
int ownerType)
|
protected long |
getLimitClassPK(SocialActivity activity,
SocialActivityCounterDefinition activityCounterDefinition)
|
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. |
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. |
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. |
protected void |
incrementActivityCounter(SocialActivityCounter activityCounter,
SocialActivityCounterDefinition activityCounterDefinition)
|
void |
incrementUserAchievementCounter(long userId,
long groupId)
Increments the user.achievements counter for a user. |
protected boolean |
isAddActivityCounter(User user,
User assetEntryUser,
AssetEntry assetEntry,
SocialActivityCounterDefinition activityCounterDefinition)
|
protected SocialActivityCounter |
lockProtectedAddActivityCounter(long groupId,
long classNameId,
long classPK,
String name,
int ownerType,
int totalValue,
long previousActivityCounterId,
int periodLength)
|
protected void |
lockProtectedGetActivityLimit(long groupId,
User user,
SocialActivity activity,
SocialActivityCounterDefinition activityCounterDefinition)
|
Methods inherited from class com.liferay.portal.service.BaseLocalServiceImpl |
---|
getClassLoader, getLayoutURL, getLayoutURL |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SocialActivityCounterLocalServiceImpl()
Method Detail |
---|
public SocialActivityCounter addActivityCounter(long groupId, long classNameId, long classPK, String name, int ownerType, int currentValue, int totalValue, int startPeriod, int endPeriod) throws PortalException, SystemException
addActivityCounter(long,
long, long, String, int, int, long, int)
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's nameownerType
- the counter's owner type. Acceptable values are
TYPE_ACTOR
, TYPE_ASSET
and
TYPE_CREATOR
defined in SocialActivityCounterConstants
.currentValue
- the counter's current value (optionally
0
)totalValue
- the counter's total value (optionally
0
)startPeriod
- the counter's start periodendPeriod
- the counter's end period
PortalException
- if the group or the previous activity counter
could not be found
SystemException
- if a system exception occurredpublic SocialActivityCounter addActivityCounter(long groupId, long classNameId, long classPK, String name, int ownerType, int currentValue, int totalValue, int startPeriod, int endPeriod, long previousActivityCounterId, int periodLength) throws PortalException, SystemException
addActivityCounter(long,
long, long, String, int, int, long, int)
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
.currentValue
- the current value of the counter (optionally
0
)totalValue
- the counter's total value (optionally
0
)startPeriod
- the counter's start periodendPeriod
- the counter's end periodpreviousActivityCounterId
- 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
- if the group or the previous activity counter
could not be found
SystemException
- if a system exception occurred@Transactional(propagation=REQUIRES_NEW) public SocialActivityCounter addActivityCounter(long groupId, long classNameId, long classPK, String name, int ownerType, int totalValue, long previousActivityCounterId, int periodLength) throws PortalException, SystemException
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
- if the group or the previous activity counter
could not be found
SystemException
- if a system exception occurredpublic void addActivityCounters(SocialActivity activity) throws PortalException, SystemException
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 activity
PortalException
- if an expected group or expected previous
activity counters could not be found
SystemException
- if a system exception occurred@Transactional(propagation=REQUIRES_NEW) public SocialActivityCounter createActivityCounter(long groupId, long classNameId, long classPK, String name, int ownerType, int currentValue, int totalValue, int startPeriod, int endPeriod) throws PortalException, SystemException
addActivityCounter(long,
long, long, String, int, int, long, int)
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's nameownerType
- the counter's owner type. Acceptable values are
TYPE_ACTOR
, TYPE_ASSET
and
TYPE_CREATOR
defined in SocialActivityCounterConstants
.currentValue
- the counter's current value (optionally
0
)totalValue
- the counter's total value (optionally
0
)startPeriod
- the counter's start periodendPeriod
- the counter's end period
PortalException
- if the group or a previous activity counter
could not be found
SystemException
- if a system exception occurred@Transactional(propagation=REQUIRES_NEW) public SocialActivityCounter createActivityCounter(long groupId, long classNameId, long classPK, String name, int ownerType, int currentValue, int totalValue, int startPeriod, int endPeriod, long previousActivityCounterId, int periodLength) throws PortalException, SystemException
addActivityCounter(long,
long, long, String, int, int, long, int)
This method actually creates the counter in the database. It requires a new transaction so that other threads can find the new counter when the lock in the calling method is released.
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's nameownerType
- the counter's owner type. Acceptable values are
TYPE_ACTOR
, TYPE_ASSET
and
TYPE_CREATOR
defined in SocialActivityCounterConstants
.currentValue
- the counter's current value (optionally
0
)totalValue
- the counter's total value of the counter
(optionally 0
)startPeriod
- the counter's start periodendPeriod
- the counter's end periodpreviousActivityCounterId
- 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 SocialActivityConstants
.
PortalException
- if the group or the previous activity counter
could not be found
SystemException
- if a system exception occurredpublic void deleteActivityCounters(AssetEntry assetEntry) throws PortalException, SystemException
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 entry
PortalException
- if the new contribution counter could not be
created
SystemException
- if a system exception occurredpublic void deleteActivityCounters(long classNameId, long classPK) throws PortalException, SystemException
classNameId
- the primary key of the entity's classclassPK
- the primary key of the entity
PortalException
- if the entity is an asset and its owner's
contribution counter could not be updated
SystemException
- if a system exception occurredpublic void deleteActivityCounters(String className, long classPK) throws PortalException, SystemException
className
- the entity's class nameclassPK
- the primary key of the entity
PortalException
- if the entity is an asset and its owner's
contribution counter could not be updated
SystemException
- if a system exception occurredpublic void disableActivityCounters(long classNameId, long classPK) throws PortalException, SystemException
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 asset
PortalException
- if the asset owner's contribution counter could
not be updated
SystemException
- if a system exception occurredpublic void disableActivityCounters(String className, long classPK) throws PortalException, SystemException
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 asset
PortalException
- if the asset owner's contribution counter could
not be updated
SystemException
- if a system exception occurredpublic void enableActivityCounters(long classNameId, long classPK) throws PortalException, SystemException
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 asset
PortalException
- if the asset owner's contribution counter could
not be updated
SystemException
- if a system exception occurredpublic void enableActivityCounters(String className, long classPK) throws PortalException, SystemException
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 asset
PortalException
- if the asset owner's contribution counter could
not be updated
SystemException
- if a system exception occurredpublic SocialActivityCounter fetchActivityCounterByEndPeriod(long groupId, long classNameId, long classPK, String name, int ownerType, int endPeriod) throws SystemException
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
SystemException
- if a system exception occurredpublic SocialActivityCounter fetchActivityCounterByStartPeriod(long groupId, long classNameId, long classPK, String name, int ownerType, int startPeriod) throws SystemException
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
SystemException
- if a system exception occurredpublic SocialActivityCounter fetchLatestActivityCounter(long groupId, long classNameId, long classPK, String name, int ownerType) throws SystemException
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
SystemException
- if a system exception occurredpublic List<SocialActivityCounter> getOffsetActivityCounters(long groupId, String name, int startOffset, int endOffset) throws SystemException
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
SystemException
- if a system exception occurredpublic List<SocialActivityCounter> getOffsetDistributionActivityCounters(long groupId, String name, int startOffset, int endOffset) throws SystemException
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 period
SystemException
- if a system exception occurredpublic List<SocialActivityCounter> getPeriodActivityCounters(long groupId, String name, int startPeriod, int endPeriod) throws SystemException
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
SystemException
- if a system exception occurredpublic List<SocialActivityCounter> getPeriodDistributionActivityCounters(long groupId, String name, int startPeriod, int endPeriod) throws SystemException
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
SystemException
- if a system exception occurredpublic List<Tuple> getUserActivityCounters(long groupId, String[] rankingNames, String[] selectedNames, int start, int end) throws SystemException
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)
SystemException
- if a system exception occurredpublic int getUserActivityCountersCount(long groupId, String[] rankingNames) throws SystemException
groupId
- the primary key of the grouprankingNames
- the ranking counter names
SystemException
- if a system exception occurredpublic void incrementUserAchievementCounter(long userId, long groupId) throws PortalException, SystemException
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 group
PortalException
- if the group or an expected previous activity
counter could not be found
SystemException
- if a system exception occurredprotected SocialActivityCounter addActivityCounter(long groupId, User user, SocialActivity activity, SocialActivityCounterDefinition activityCounterDefinition) throws PortalException, SystemException
PortalException
SystemException
protected SocialActivityCounter addAssetActivitiesCounter(SocialActivity activity) throws PortalException, SystemException
PortalException
SystemException
protected SocialActivityCounter addUserActivitiesCounter(SocialActivity activity) throws PortalException, SystemException
PortalException
SystemException
protected void adjustUserContribution(AssetEntry assetEntry, boolean enable) throws PortalException, SystemException
PortalException
SystemException
protected boolean checkActivityLimit(User user, SocialActivity activity, SocialActivityCounterDefinition activityCounterDefinition) throws PortalException, SystemException
PortalException
SystemException
protected void clearFinderCache()
protected long getClassNameId(AssetEntry assetEntry, int ownerType)
protected long getClassPK(User user, AssetEntry assetEntry, int ownerType)
protected long getLimitClassPK(SocialActivity activity, SocialActivityCounterDefinition activityCounterDefinition)
protected void incrementActivityCounter(SocialActivityCounter activityCounter, SocialActivityCounterDefinition activityCounterDefinition) throws SystemException
SystemException
protected boolean isAddActivityCounter(User user, User assetEntryUser, AssetEntry assetEntry, SocialActivityCounterDefinition activityCounterDefinition)
protected SocialActivityCounter lockProtectedAddActivityCounter(long groupId, long classNameId, long classPK, String name, int ownerType, int totalValue, long previousActivityCounterId, int periodLength) throws PortalException, SystemException
PortalException
SystemException
protected void lockProtectedGetActivityLimit(long groupId, User user, SocialActivity activity, SocialActivityCounterDefinition activityCounterDefinition) throws PortalException, SystemException
PortalException
SystemException
|
Liferay 6.2-ce-ga5 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |