1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * The contents of this file are subject to the terms of the Liferay Enterprise
5    * Subscription License ("License"). You may not use this file except in
6    * compliance with the License. You can obtain a copy of the License by
7    * contacting Liferay, Inc. See the License for the specific language governing
8    * permissions and limitations under the License, including but not limited to
9    * distribution rights of the Software.
10   *
11   *
12   * 
13   */
14  
15  package com.liferay.portlet.polls.service.impl;
16  
17  import com.liferay.portal.PortalException;
18  import com.liferay.portal.SystemException;
19  import com.liferay.portal.security.permission.ActionKeys;
20  import com.liferay.portal.service.permission.PortletPermissionUtil;
21  import com.liferay.portal.util.PortletKeys;
22  import com.liferay.portlet.polls.model.PollsChoice;
23  import com.liferay.portlet.polls.model.PollsQuestion;
24  import com.liferay.portlet.polls.service.base.PollsQuestionServiceBaseImpl;
25  import com.liferay.portlet.polls.service.permission.PollsQuestionPermission;
26  
27  import java.util.List;
28  
29  /**
30   * <a href="PollsQuestionServiceImpl.java.html"><b><i>View Source</i></b></a>
31   *
32   * @author Brian Wing Shun Chan
33   */
34  public class PollsQuestionServiceImpl extends PollsQuestionServiceBaseImpl {
35  
36      public PollsQuestion addQuestion(
37              long plid, String title, String description,
38              int expirationDateMonth, int expirationDateDay,
39              int expirationDateYear, int expirationDateHour,
40              int expirationDateMinute, boolean neverExpire,
41              List<PollsChoice> choices, boolean addCommunityPermissions,
42              boolean addGuestPermissions)
43          throws PortalException, SystemException {
44  
45          PortletPermissionUtil.check(
46              getPermissionChecker(), plid, PortletKeys.POLLS,
47              ActionKeys.ADD_QUESTION);
48  
49          return pollsQuestionLocalService.addQuestion(
50              getUserId(), plid, title, description, expirationDateMonth,
51              expirationDateDay, expirationDateYear, expirationDateHour,
52              expirationDateMinute, neverExpire, choices,
53              addCommunityPermissions, addGuestPermissions);
54      }
55  
56      public PollsQuestion addQuestion(
57              long plid, String title, String description,
58              int expirationDateMonth, int expirationDateDay,
59              int expirationDateYear, int expirationDateHour,
60              int expirationDateMinute, boolean neverExpire,
61              List<PollsChoice> choices, String[] communityPermissions,
62              String[] guestPermissions)
63          throws PortalException, SystemException {
64  
65          PortletPermissionUtil.check(
66              getPermissionChecker(), plid, PortletKeys.POLLS,
67              ActionKeys.ADD_QUESTION);
68  
69          return pollsQuestionLocalService.addQuestion(
70              getUserId(), plid, title, description, expirationDateMonth,
71              expirationDateDay, expirationDateYear, expirationDateHour,
72              expirationDateMinute, neverExpire, choices, communityPermissions,
73              guestPermissions);
74      }
75  
76      public void deleteQuestion(long questionId)
77          throws PortalException, SystemException {
78  
79          PollsQuestionPermission.check(
80              getPermissionChecker(), questionId, ActionKeys.DELETE);
81  
82          pollsQuestionLocalService.deleteQuestion(questionId);
83      }
84  
85      public PollsQuestion getQuestion(long questionId)
86          throws PortalException, SystemException {
87  
88          PollsQuestionPermission.check(
89              getPermissionChecker(), questionId, ActionKeys.VIEW);
90  
91          return pollsQuestionLocalService.getQuestion(questionId);
92      }
93  
94      public PollsQuestion updateQuestion(
95              long questionId, String title, String description,
96              int expirationDateMonth, int expirationDateDay,
97              int expirationDateYear, int expirationDateHour,
98              int expirationDateMinute, boolean neverExpire,
99              List<PollsChoice> choices)
100         throws PortalException, SystemException {
101 
102         PollsQuestionPermission.check(
103             getPermissionChecker(), questionId, ActionKeys.UPDATE);
104 
105         return pollsQuestionLocalService.updateQuestion(
106             getUserId(), questionId, title, description, expirationDateMonth,
107             expirationDateDay, expirationDateYear, expirationDateHour,
108             expirationDateMinute, neverExpire, choices);
109     }
110 
111 }