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