com.liferay.commerce.pricing.web.internal.portlet.action.AddCPInstanceCommercePriceEntryMVCRenderCommand Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com.liferay.commerce.pricing.web
Show all versions of com.liferay.commerce.pricing.web
Liferay Commerce Pricing Web
The newest version!
/**
* SPDX-FileCopyrightText: (c) 2023 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
package com.liferay.commerce.pricing.web.internal.portlet.action;
import com.liferay.commerce.currency.util.CommercePriceFormatter;
import com.liferay.commerce.price.list.portlet.action.CommercePriceListActionHelper;
import com.liferay.commerce.price.list.service.CommercePriceEntryService;
import com.liferay.commerce.price.list.service.CommercePriceListService;
import com.liferay.commerce.pricing.web.internal.display.context.CPInstanceCommercePriceEntryDisplayContext;
import com.liferay.commerce.product.constants.CPPortletKeys;
import com.liferay.commerce.product.portlet.action.ActionHelper;
import com.liferay.item.selector.ItemSelector;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCRenderCommand;
import com.liferay.portal.kernel.portlet.bridges.mvc.constants.MVCRenderConstants;
import com.liferay.portal.kernel.security.auth.PrincipalException;
import com.liferay.portal.kernel.servlet.SessionErrors;
import com.liferay.portal.kernel.util.Portal;
import com.liferay.portal.kernel.util.WebKeys;
import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
/**
* @author Stefano Motta
*/
@Component(
property = {
"javax.portlet.name=" + CPPortletKeys.CP_DEFINITIONS,
"mvc.command.name=/cp_definitions/add_cp_instance_commerce_price_entry"
},
service = MVCRenderCommand.class
)
public class AddCPInstanceCommercePriceEntryMVCRenderCommand
implements MVCRenderCommand {
@Override
public String render(
RenderRequest renderRequest, RenderResponse renderResponse)
throws PortletException {
RequestDispatcher requestDispatcher =
_servletContext.getRequestDispatcher(
"/commerce_price_lists/cp_instance" +
"/add_cp_instance_commerce_price_entry.jsp");
try {
HttpServletRequest httpServletRequest =
_portal.getHttpServletRequest(renderRequest);
HttpServletResponse httpServletResponse =
_portal.getHttpServletResponse(renderResponse);
CPInstanceCommercePriceEntryDisplayContext
cpInstanceCommercePriceEntryDisplayContext =
new CPInstanceCommercePriceEntryDisplayContext(
_actionHelper, _commercePriceEntryService,
_commercePriceFormatter, _commercePriceListActionHelper,
_commercePriceListService, httpServletRequest,
_itemSelector);
renderRequest.setAttribute(
WebKeys.PORTLET_DISPLAY_CONTEXT,
cpInstanceCommercePriceEntryDisplayContext);
requestDispatcher.include(httpServletRequest, httpServletResponse);
}
catch (Exception exception) {
if (exception instanceof PrincipalException) {
SessionErrors.add(renderRequest, exception.getClass());
return "/error.jsp";
}
throw new PortletException(exception);
}
return MVCRenderConstants.MVC_PATH_VALUE_SKIP_DISPATCH;
}
@Reference
private ActionHelper _actionHelper;
@Reference
private CommercePriceEntryService _commercePriceEntryService;
@Reference
private CommercePriceFormatter _commercePriceFormatter;
@Reference
private CommercePriceListActionHelper _commercePriceListActionHelper;
@Reference
private CommercePriceListService _commercePriceListService;
@Reference
private ItemSelector _itemSelector;
@Reference
private Portal _portal;
@Reference(
target = "(osgi.web.symbolicname=com.liferay.commerce.pricing.web)"
)
private ServletContext _servletContext;
}