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