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