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