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