1
14
15 package com.liferay.portlet.softwarecatalog.action;
16
17 import com.liferay.portal.kernel.servlet.SessionErrors;
18 import com.liferay.portal.security.auth.PrincipalException;
19 import com.liferay.portal.struts.PortletAction;
20 import com.liferay.portal.util.WebKeys;
21 import com.liferay.portlet.softwarecatalog.NoSuchProductEntryException;
22 import com.liferay.portlet.softwarecatalog.model.SCProductEntry;
23
24 import javax.portlet.PortletConfig;
25 import javax.portlet.RenderRequest;
26 import javax.portlet.RenderResponse;
27
28 import org.apache.struts.action.ActionForm;
29 import org.apache.struts.action.ActionForward;
30 import org.apache.struts.action.ActionMapping;
31
32
37 public class ViewProductEntryAction extends PortletAction {
38
39 public ActionForward render(
40 ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
41 RenderRequest renderRequest, RenderResponse renderResponse)
42 throws Exception {
43
44 try {
45 ActionUtil.getProductEntry(renderRequest);
46
47 SCProductEntry productEntry =
48 (SCProductEntry)renderRequest.getAttribute(
49 WebKeys.SOFTWARE_CATALOG_PRODUCT_ENTRY);
50
51 if (productEntry == null) {
52 throw new NoSuchProductEntryException();
53 }
54 }
55 catch (Exception e) {
56 if (e instanceof NoSuchProductEntryException ||
57 e instanceof PrincipalException) {
58
59 SessionErrors.add(renderRequest, e.getClass().getName());
60
61 return mapping.findForward("portlet.software_catalog.error");
62 }
63 else {
64 throw e;
65 }
66 }
67
68 return mapping.findForward(
69 "portlet.software_catalog.view_product_entry");
70 }
71
72 }