1
19
20 package com.liferay.portlet.shopping.action;
21
22 import com.liferay.portal.kernel.servlet.SessionErrors;
23 import com.liferay.portal.kernel.util.ParamUtil;
24 import com.liferay.portal.kernel.util.StringPool;
25 import com.liferay.portal.kernel.util.StringUtil;
26 import com.liferay.portal.security.auth.PrincipalException;
27 import com.liferay.portal.struts.PortletAction;
28 import com.liferay.portlet.shopping.service.ShoppingItemServiceUtil;
29
30 import javax.portlet.ActionRequest;
31 import javax.portlet.ActionResponse;
32 import javax.portlet.PortletConfig;
33 import javax.portlet.RenderRequest;
34 import javax.portlet.RenderResponse;
35
36 import org.apache.struts.action.ActionForm;
37 import org.apache.struts.action.ActionForward;
38 import org.apache.struts.action.ActionMapping;
39
40
46 public class AddBookItemsAction extends PortletAction {
47
48 public void processAction(
49 ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
50 ActionRequest actionRequest, ActionResponse actionResponse)
51 throws Exception {
52
53 try {
54 quickAddItems(actionRequest);
55
56 sendRedirect(actionRequest, actionResponse);
57 }
58 catch (Exception e) {
59 if (e instanceof PrincipalException) {
60 SessionErrors.add(actionRequest, e.getClass().getName());
61
62 setForward(actionRequest, "portlet.shopping.error");
63 }
64 else {
65 throw e;
66 }
67 }
68 }
69
70 public ActionForward render(
71 ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
72 RenderRequest renderRequest, RenderResponse renderResponse)
73 throws Exception {
74
75 return mapping.findForward(
76 getForward(renderRequest, "portlet.shopping.add_book_items"));
77 }
78
79 protected void quickAddItems(ActionRequest actionRequest) throws Exception {
80 long categoryId = ParamUtil.getLong(actionRequest, "categoryId");
81 String[] isbns = StringUtil.split(
82 ParamUtil.getString(actionRequest, "isbns").toUpperCase(),
83 StringPool.SPACE);
84
85 ShoppingItemServiceUtil.addBookItems(categoryId, isbns);
86 }
87
88 }