001
014
015 package com.liferay.portlet.dynamicdatamapping.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.util.OrderByComparator;
020 import com.liferay.portal.kernel.util.ParamUtil;
021 import com.liferay.portal.kernel.util.Validator;
022 import com.liferay.portal.security.permission.ActionKeys;
023 import com.liferay.portal.service.ServiceContext;
024 import com.liferay.portlet.dynamicdatamapping.model.DDMTemplate;
025 import com.liferay.portlet.dynamicdatamapping.service.base.DDMTemplateServiceBaseImpl;
026 import com.liferay.portlet.dynamicdatamapping.service.permission.DDMPermission;
027 import com.liferay.portlet.dynamicdatamapping.service.permission.DDMTemplatePermission;
028
029 import java.util.List;
030 import java.util.Locale;
031 import java.util.Map;
032
033
038 public class DDMTemplateServiceImpl extends DDMTemplateServiceBaseImpl {
039
040 public DDMTemplate addTemplate(
041 long groupId, long classNameId, long classPK, String templateKey,
042 Map<Locale, String> nameMap, Map<Locale, String> descriptionMap,
043 String type, String mode, String language, String script,
044 boolean cacheable, ServiceContext serviceContext)
045 throws PortalException, SystemException {
046
047 String ddmResource = ParamUtil.getString(serviceContext, "ddmResource");
048
049 String ddmResourceActionId = ParamUtil.getString(
050 serviceContext, "ddmResourceActionId");
051
052 if (Validator.isNull(ddmResourceActionId)) {
053 if (ddmResource.equals(_DDL_CLASS_NAME)) {
054 ddmResourceActionId = ActionKeys.ADD_TEMPLATE;
055 }
056 else {
057 ddmResourceActionId = ActionKeys.ADD_PORTLET_DISPLAY_TEMPLATE;
058 }
059 }
060
061 DDMPermission.check(
062 getPermissionChecker(), serviceContext.getScopeGroupId(),
063 ddmResource, ddmResourceActionId);
064
065 return ddmTemplateLocalService.addTemplate(
066 getUserId(), groupId, classNameId, classPK, templateKey, nameMap,
067 descriptionMap, type, mode, language, script, cacheable,
068 serviceContext);
069 }
070
071 public List<DDMTemplate> copyTemplates(
072 long classNameId, long classPK, long newClassPK, String type,
073 ServiceContext serviceContext)
074 throws PortalException, SystemException {
075
076 String ddmResource = ParamUtil.getString(serviceContext, "ddmResource");
077
078 DDMPermission.check(
079 getPermissionChecker(), serviceContext.getScopeGroupId(),
080 ddmResource, ActionKeys.ADD_TEMPLATE);
081
082 return ddmTemplateLocalService.copyTemplates(
083 getUserId(), classNameId, classPK, newClassPK, type,
084 serviceContext);
085 }
086
087 public void deleteTemplate(long templateId)
088 throws PortalException, SystemException {
089
090 DDMTemplatePermission.check(
091 getPermissionChecker(), templateId, ActionKeys.DELETE);
092
093 ddmTemplateLocalService.deleteTemplate(templateId);
094 }
095
096 public DDMTemplate fetchTemplate(long groupId, String templateKey)
097 throws SystemException {
098
099 return ddmTemplateLocalService.fetchTemplate(groupId, templateKey);
100 }
101
102 public DDMTemplate getTemplate(long templateId)
103 throws PortalException, SystemException {
104
105 DDMTemplatePermission.check(
106 getPermissionChecker(), templateId, ActionKeys.VIEW);
107
108 return ddmTemplatePersistence.findByPrimaryKey(templateId);
109 }
110
111 public DDMTemplate getTemplate(long groupId, String templateKey)
112 throws PortalException, SystemException {
113
114 return ddmTemplateLocalService.getTemplate(groupId, templateKey);
115 }
116
117 public List<DDMTemplate> getTemplates(long groupId, long classNameId)
118 throws SystemException {
119
120 return ddmTemplatePersistence.findByG_C(groupId, classNameId);
121 }
122
123 public List<DDMTemplate> getTemplates(
124 long groupId, long classNameId, long classPK)
125 throws SystemException {
126
127 return ddmTemplatePersistence.findByG_C_C(
128 groupId, classNameId, classPK);
129 }
130
131 public List<DDMTemplate> getTemplates(
132 long classNameId, long classPK, String type, String mode)
133 throws SystemException {
134
135 return ddmTemplatePersistence.findByC_C_T_M(
136 classNameId, classPK, type, mode);
137 }
138
139 public List<DDMTemplate> search(
140 long companyId, long groupId, long classNameId, long classPK,
141 String keywords, String type, String mode, int start, int end,
142 OrderByComparator orderByComparator)
143 throws SystemException {
144
145 return ddmTemplateFinder.filterFindByKeywords(
146 companyId, groupId, classNameId, classPK, keywords, type, mode,
147 start, end, orderByComparator);
148 }
149
150 public List<DDMTemplate> search(
151 long companyId, long groupId, long classNameId, long classPK,
152 String name, String description, String type, String mode,
153 String language, boolean andOperator, int start, int end,
154 OrderByComparator orderByComparator)
155 throws SystemException {
156
157 return ddmTemplateFinder.filterFindByC_G_C_C_N_D_T_M_L(
158 companyId, groupId, classNameId, classPK, name, description, type,
159 mode, language, andOperator, start, end, orderByComparator);
160 }
161
162 public List<DDMTemplate> search(
163 long companyId, long[] groupIds, long[] classNameIds, long classPK,
164 String keywords, String type, String mode, int start, int end,
165 OrderByComparator orderByComparator)
166 throws SystemException {
167
168 return ddmTemplateFinder.filterFindByKeywords(
169 companyId, groupIds, classNameIds, classPK, keywords, type, mode,
170 start, end, orderByComparator);
171 }
172
173 public List<DDMTemplate> search(
174 long companyId, long[] groupIds, long[] classNameIds, long classPK,
175 String name, String description, String type, String mode,
176 String language, boolean andOperator, int start, int end,
177 OrderByComparator orderByComparator)
178 throws SystemException {
179
180 return ddmTemplateFinder.filterFindByC_G_C_C_N_D_T_M_L(
181 companyId, groupIds, classNameIds, classPK, name, description, type,
182 mode, language, andOperator, start, end, orderByComparator);
183 }
184
185 public int searchCount(
186 long companyId, long groupId, long classNameId, long classPK,
187 String keywords, String type, String mode)
188 throws SystemException {
189
190 return ddmTemplateFinder.filterCountByKeywords(
191 companyId, groupId, classNameId, classPK, keywords, type, mode);
192 }
193
194 public int searchCount(
195 long companyId, long groupId, long classNameId, long classPK,
196 String name, String description, String type, String mode,
197 String language, boolean andOperator)
198 throws SystemException {
199
200 return ddmTemplateFinder.filterCountByC_G_C_C_N_D_T_M_L(
201 companyId, groupId, classNameId, classPK, name, description, type,
202 mode, language, andOperator);
203 }
204
205 public int searchCount(
206 long companyId, long[] groupIds, long[] classNameIds, long classPK,
207 String keywords, String type, String mode)
208 throws SystemException {
209
210 return ddmTemplateFinder.filterCountByKeywords(
211 companyId, groupIds, classNameIds, classPK, keywords, type, mode);
212 }
213
214 public int searchCount(
215 long companyId, long[] groupIds, long[] classNameIds, long classPK,
216 String name, String description, String type, String mode,
217 String language, boolean andOperator)
218 throws SystemException {
219
220 return ddmTemplateFinder.filterCountByC_G_C_C_N_D_T_M_L(
221 companyId, groupIds, classNameIds, classPK, name, description, type,
222 mode, language, andOperator);
223 }
224
225 public DDMTemplate updateTemplate(
226 long templateId, Map<Locale, String> nameMap,
227 Map<Locale, String> descriptionMap, String type, String mode,
228 String language, String script, boolean cacheable,
229 ServiceContext serviceContext)
230 throws PortalException, SystemException {
231
232 DDMTemplatePermission.check(
233 getPermissionChecker(), templateId, ActionKeys.UPDATE);
234
235 return ddmTemplateLocalService.updateTemplate(
236 templateId, nameMap, descriptionMap, type, mode, language, script,
237 cacheable, serviceContext);
238 }
239
240 private static final String _DDL_CLASS_NAME =
241 "com.liferay.portlet.dynamicdatalists";
242
243 }