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, false);
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<PollsChoice> getChoices(long questionId)
79 throws SystemException {
80
81 return pollsChoicePersistence.findByQuestionId(questionId);
82 }
83
84 public int getChoicesCount(long questionId) throws SystemException {
85 return pollsChoicePersistence.countByQuestionId(questionId);
86 }
87
88 public PollsChoice updateChoice(
89 long choiceId, long questionId, String name, String description)
90 throws PortalException, SystemException {
91
92 validate(name, description);
93
94 pollsQuestionPersistence.findByPrimaryKey(questionId);
95
96 PollsChoice choice = pollsChoicePersistence.findByPrimaryKey(choiceId);
97
98 choice.setQuestionId(questionId);
99 choice.setName(name);
100 choice.setDescription(description);
101
102 pollsChoicePersistence.update(choice, false);
103
104 return choice;
105 }
106
107 protected void validate(String name, String description)
108 throws PortalException {
109
110 if (Validator.isNull(name) || Validator.isNull(description)) {
111 throw new QuestionChoiceException();
112 }
113 }
114
115 }