001
014
015 package com.liferay.portlet.social.service.impl;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.exception.SystemException;
019 import com.liferay.portal.kernel.json.JSONArray;
020 import com.liferay.portal.kernel.json.JSONFactoryUtil;
021 import com.liferay.portal.kernel.json.JSONObject;
022 import com.liferay.portal.kernel.util.LocaleUtil;
023 import com.liferay.portal.security.permission.ActionKeys;
024 import com.liferay.portlet.social.model.SocialActivityCounterDefinition;
025 import com.liferay.portlet.social.model.SocialActivityDefinition;
026 import com.liferay.portlet.social.model.SocialActivitySetting;
027 import com.liferay.portlet.social.service.base.SocialActivitySettingServiceBaseImpl;
028 import com.liferay.portlet.social.service.permission.SocialActivityPermission;
029 import com.liferay.portlet.social.util.comparator.SocialActivityDefinitionNameComparator;
030
031 import java.util.Collections;
032 import java.util.List;
033
034
037 public class SocialActivitySettingServiceImpl
038 extends SocialActivitySettingServiceBaseImpl {
039
040 public SocialActivityDefinition getActivityDefinition(
041 long groupId, String className, int activityType)
042 throws PortalException, SystemException {
043
044 SocialActivityPermission.check(
045 getPermissionChecker(), groupId, ActionKeys.VIEW);
046
047 return socialActivitySettingLocalService.getActivityDefinition(
048 groupId, className, activityType);
049 }
050
051 public List<SocialActivityDefinition> getActivityDefinitions(
052 long groupId, String className)
053 throws PortalException, SystemException {
054
055 SocialActivityPermission.check(
056 getPermissionChecker(), groupId, ActionKeys.VIEW);
057
058 return socialActivitySettingLocalService.getActivityDefinitions(
059 groupId, className);
060 }
061
062 public List<SocialActivitySetting> getActivitySettings(long groupId)
063 throws PortalException, SystemException {
064
065 SocialActivityPermission.check(
066 getPermissionChecker(), groupId, ActionKeys.VIEW);
067
068 return socialActivitySettingLocalService.getActivitySettings(groupId);
069 }
070
071 public JSONArray getJSONActivityDefinitions(long groupId, String className)
072 throws PortalException, SystemException {
073
074 SocialActivityPermission.check(
075 getPermissionChecker(), groupId, ActionKeys.VIEW);
076
077 JSONArray jsonArray = JSONFactoryUtil.createJSONArray();
078
079 List<SocialActivityDefinition> activityDefinitions =
080 socialActivitySettingLocalService.getActivityDefinitions(
081 groupId, className);
082
083 Collections.sort(
084 activityDefinitions,
085 new SocialActivityDefinitionNameComparator(
086 LocaleUtil.getMostRelevantLocale()));
087
088 for (SocialActivityDefinition activityDefinition :
089 activityDefinitions) {
090
091 if (!activityDefinition.isCountersEnabled()) {
092 continue;
093 }
094
095 JSONObject activityDefinitionJSONObject =
096 JSONFactoryUtil.createJSONObject(
097 JSONFactoryUtil.looseSerialize(activityDefinition));
098
099 JSONArray activityCounterDefinitionsJSONArray =
100 JSONFactoryUtil.createJSONArray();
101
102 for (SocialActivityCounterDefinition activityCounterDefinition :
103 activityDefinition.getActivityCounterDefinitions()) {
104
105 JSONObject activityCounterDefinitionJSONObject =
106 JSONFactoryUtil.createJSONObject(
107 JSONFactoryUtil.looseSerialize(
108 activityCounterDefinition));
109
110 activityCounterDefinitionsJSONArray.put(
111 activityCounterDefinitionJSONObject);
112 }
113
114 activityDefinitionJSONObject.put(
115 "counters", activityCounterDefinitionsJSONArray);
116
117 jsonArray.put(activityDefinitionJSONObject);
118 }
119
120 return jsonArray;
121 }
122
123 public void updateActivitySetting(
124 long groupId, String className, boolean enabled)
125 throws PortalException, SystemException {
126
127 SocialActivityPermission.check(
128 getPermissionChecker(), groupId, ActionKeys.CONFIGURATION);
129
130 socialActivitySettingLocalService.updateActivitySetting(
131 groupId, className, enabled);
132 }
133
134 public void updateActivitySetting(
135 long groupId, String className, int activityType,
136 SocialActivityCounterDefinition activityCounterDefinition)
137 throws PortalException, SystemException {
138
139 SocialActivityPermission.check(
140 getPermissionChecker(), groupId, ActionKeys.CONFIGURATION);
141
142 socialActivitySettingLocalService.updateActivitySetting(
143 groupId, className, activityType, activityCounterDefinition);
144 }
145
146 public void updateActivitySettings(
147 long groupId, String className, int activityType,
148 List<SocialActivityCounterDefinition> activityCounterDefinitions)
149 throws PortalException, SystemException {
150
151 SocialActivityPermission.check(
152 getPermissionChecker(), groupId, ActionKeys.CONFIGURATION);
153
154 socialActivitySettingLocalService.updateActivitySettings(
155 groupId, className, activityType, activityCounterDefinitions);
156 }
157
158 }