1
22
23 package com.liferay.portlet.polls.service.impl;
24
25 import com.liferay.portal.PortalException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.kernel.util.Validator;
28 import com.liferay.portlet.polls.QuestionChoiceException;
29 import com.liferay.portlet.polls.model.PollsChoice;
30 import com.liferay.portlet.polls.service.base.PollsChoiceLocalServiceBaseImpl;
31
32 import java.util.List;
33
34
40 public class PollsChoiceLocalServiceImpl
41 extends PollsChoiceLocalServiceBaseImpl {
42
43 public PollsChoice addChoice(
44 long questionId, String name, String description)
45 throws PortalException, SystemException {
46
47 return addChoice(null, questionId, name, description);
48 }
49
50 public PollsChoice addChoice(
51 String uuid, long questionId, String name, String description)
52 throws PortalException, SystemException {
53
54 validate(name, description);
55
56 pollsQuestionPersistence.findByPrimaryKey(questionId);
57
58 long choiceId = counterLocalService.increment();
59
60 PollsChoice choice = pollsChoicePersistence.create(choiceId);
61
62 choice.setUuid(uuid);
63 choice.setQuestionId(questionId);
64 choice.setName(name);
65 choice.setDescription(description);
66
67 pollsChoicePersistence.update(choice);
68
69 return choice;
70 }
71
72 public PollsChoice getChoice(long choiceId)
73 throws PortalException, SystemException {
74
75 return pollsChoicePersistence.findByPrimaryKey(choiceId);
76 }
77
78 public List getChoices(long questionId) throws SystemException {
79 return pollsChoicePersistence.findByQuestionId(questionId);
80 }
81
82 public int getChoicesCount(long questionId) throws SystemException {
83 return pollsChoicePersistence.countByQuestionId(questionId);
84 }
85
86 public PollsChoice updateChoice(
87 long choiceId, long questionId, String name, String description)
88 throws PortalException, SystemException {
89
90 validate(name, description);
91
92 pollsQuestionPersistence.findByPrimaryKey(questionId);
93
94 PollsChoice choice = pollsChoicePersistence.findByPrimaryKey(choiceId);
95
96 choice.setQuestionId(questionId);
97 choice.setName(name);
98 choice.setDescription(description);
99
100 pollsChoicePersistence.update(choice);
101
102 return choice;
103 }
104
105 protected void validate(String name, String description)
106 throws PortalException {
107
108 if (Validator.isNull(name) || Validator.isNull(description)) {
109 throw new QuestionChoiceException();
110 }
111 }
112
113 }