001
014
015 package com.liferay.portlet.mobiledevicerules.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.systemevent.SystemEvent;
020 import com.liferay.portal.kernel.util.UnicodeProperties;
021 import com.liferay.portal.model.SystemEventConstants;
022 import com.liferay.portal.model.User;
023 import com.liferay.portal.service.ServiceContext;
024 import com.liferay.portlet.mobiledevicerules.model.MDRAction;
025 import com.liferay.portlet.mobiledevicerules.model.MDRRuleGroupInstance;
026 import com.liferay.portlet.mobiledevicerules.service.base.MDRActionLocalServiceBaseImpl;
027
028 import java.util.Date;
029 import java.util.List;
030 import java.util.Locale;
031 import java.util.Map;
032
033
036 public class MDRActionLocalServiceImpl extends MDRActionLocalServiceBaseImpl {
037
038 @Override
039 public MDRAction addAction(
040 long ruleGroupInstanceId, Map<Locale, String> nameMap,
041 Map<Locale, String> descriptionMap, String type,
042 String typeSettings, ServiceContext serviceContext)
043 throws PortalException, SystemException {
044
045 User user = userPersistence.findByPrimaryKey(
046 serviceContext.getUserId());
047 MDRRuleGroupInstance ruleGroupInstance =
048 mdrRuleGroupInstancePersistence.findByPrimaryKey(
049 ruleGroupInstanceId);
050 Date now = new Date();
051
052 long actionId = counterLocalService.increment();
053
054 MDRAction action = mdrActionLocalService.createMDRAction(actionId);
055
056 action.setUuid(serviceContext.getUuid());
057 action.setGroupId(ruleGroupInstance.getGroupId());
058 action.setCompanyId(serviceContext.getCompanyId());
059 action.setCreateDate(serviceContext.getCreateDate(now));
060 action.setModifiedDate(serviceContext.getModifiedDate(now));
061 action.setUserId(serviceContext.getUserId());
062 action.setUserName(user.getFullName());
063 action.setClassNameId(ruleGroupInstance.getClassNameId());
064 action.setClassPK(ruleGroupInstance.getClassPK());
065 action.setRuleGroupInstanceId(ruleGroupInstanceId);
066 action.setNameMap(nameMap);
067 action.setDescriptionMap(descriptionMap);
068 action.setType(type);
069 action.setTypeSettings(typeSettings);
070
071 action = updateMDRAction(action);
072
073 ruleGroupInstance.setModifiedDate(now);
074
075 mdrRuleGroupInstancePersistence.update(ruleGroupInstance);
076
077 return action;
078 }
079
080 @Override
081 public MDRAction addAction(
082 long ruleGroupInstanceId, Map<Locale, String> nameMap,
083 Map<Locale, String> descriptionMap, String type,
084 UnicodeProperties typeSettingsProperties,
085 ServiceContext serviceContext)
086 throws PortalException, SystemException {
087
088 return addAction(
089 ruleGroupInstanceId, nameMap, descriptionMap, type,
090 typeSettingsProperties.toString(), serviceContext);
091 }
092
093 @Override
094 public void deleteAction(long actionId) throws SystemException {
095 MDRAction action = mdrActionPersistence.fetchByPrimaryKey(actionId);
096
097 if (action != null) {
098 mdrActionLocalService.deleteAction(action);
099 }
100 }
101
102 @Override
103 @SystemEvent(type = SystemEventConstants.TYPE_DELETE)
104 public void deleteAction(MDRAction action) throws SystemException {
105 mdrActionPersistence.remove(action);
106
107 MDRRuleGroupInstance ruleGroupInstance =
108 mdrRuleGroupInstancePersistence.fetchByPrimaryKey(
109 action.getRuleGroupInstanceId());
110
111 if (ruleGroupInstance != null) {
112 ruleGroupInstance.setModifiedDate(new Date());
113
114 mdrRuleGroupInstancePersistence.update(ruleGroupInstance);
115 }
116 }
117
118 @Override
119 public void deleteActions(long ruleGroupInstanceId) throws SystemException {
120 List<MDRAction> actions =
121 mdrActionPersistence.findByRuleGroupInstanceId(ruleGroupInstanceId);
122
123 for (MDRAction action : actions) {
124 mdrActionLocalService.deleteAction(action);
125 }
126 }
127
128 @Override
129 public MDRAction fetchAction(long actionId) throws SystemException {
130 return mdrActionPersistence.fetchByPrimaryKey(actionId);
131 }
132
133 @Override
134 public MDRAction getAction(long actionId)
135 throws PortalException, SystemException {
136
137 return mdrActionPersistence.findByPrimaryKey(actionId);
138 }
139
140 @Override
141 public List<MDRAction> getActions(long ruleGroupInstanceId)
142 throws SystemException {
143
144 return mdrActionPersistence.findByRuleGroupInstanceId(
145 ruleGroupInstanceId);
146 }
147
148 @Override
149 public List<MDRAction> getActions(
150 long ruleGroupInstanceId, int start, int end)
151 throws SystemException {
152
153 return mdrActionPersistence.findByRuleGroupInstanceId(
154 ruleGroupInstanceId, start, end);
155 }
156
157 @Override
158 public int getActionsCount(long ruleGroupInstanceId)
159 throws SystemException {
160
161 return mdrActionPersistence.countByRuleGroupInstanceId(
162 ruleGroupInstanceId);
163 }
164
165 @Override
166 public MDRAction updateAction(
167 long actionId, Map<Locale, String> nameMap,
168 Map<Locale, String> descriptionMap, String type,
169 String typeSettings, ServiceContext serviceContext)
170 throws PortalException, SystemException {
171
172 MDRAction action = mdrActionPersistence.findByPrimaryKey(actionId);
173
174 action.setModifiedDate(serviceContext.getModifiedDate(null));
175 action.setNameMap(nameMap);
176 action.setDescriptionMap(descriptionMap);
177 action.setType(type);
178 action.setTypeSettings(typeSettings);
179
180 mdrActionPersistence.update(action);
181
182 MDRRuleGroupInstance ruleGroupInstance =
183 mdrRuleGroupInstancePersistence.findByPrimaryKey(
184 action.getRuleGroupInstanceId());
185
186 ruleGroupInstance.setModifiedDate(serviceContext.getModifiedDate(null));
187
188 mdrRuleGroupInstancePersistence.update(ruleGroupInstance);
189
190 return action;
191 }
192
193 @Override
194 public MDRAction updateAction(
195 long actionId, Map<Locale, String> nameMap,
196 Map<Locale, String> descriptionMap, String type,
197 UnicodeProperties typeSettingsProperties,
198 ServiceContext serviceContext)
199 throws PortalException, SystemException {
200
201 return updateAction(
202 actionId, nameMap, descriptionMap, type,
203 typeSettingsProperties.toString(), serviceContext);
204 }
205
206 }