Example usage for com.liferay.portal.kernel.portlet.bridges.mvc MVCRenderCommand render

List of usage examples for com.liferay.portal.kernel.portlet.bridges.mvc MVCRenderCommand render

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.portlet.bridges.mvc MVCRenderCommand render.

Prototype

public String render(RenderRequest renderRequest, RenderResponse renderResponse) throws PortletException;

Source Link

Document

Invoked by MVCPortlet to handle the render phase of the portlet.

Usage

From source file:com.liferay.configuration.admin.web.internal.portlet.action.EditConfigurationMVCRenderCommand.java

License:Open Source License

@Override
public String render(RenderRequest renderRequest, RenderResponse renderResponse) throws PortletException {

    String factoryPid = ParamUtil.getString(renderRequest, "factoryPid");

    String pid = ParamUtil.getString(renderRequest, "pid", factoryPid);

    MVCRenderCommand customRenderCommand = _renderCommands.get(pid);

    if (customRenderCommand != null) {
        return customRenderCommand.render(renderRequest, renderResponse);
    }//from w  ww  .  j a v  a2s . c  o m

    ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY);

    Map<String, ConfigurationModel> configurationModels = _configurationModelRetriever
            .getConfigurationModels(themeDisplay.getLanguageId());

    ConfigurationModel configurationModel = configurationModels.get(pid);

    if ((configurationModel == null) && Validator.isNotNull(factoryPid)) {
        configurationModel = configurationModels.get(factoryPid);
    }

    if ((configurationModel != null) && !configurationModel.isCompanyFactory()) {

        Configuration configuration = _configurationModelRetriever.getConfiguration(pid);

        configurationModel = new ConfigurationModel(configurationModel.getExtendedObjectClassDefinition(),
                configuration, configurationModel.getBundleSymbolicName(),
                configurationModel.getBundleLocation(), configurationModel.isFactory());
    }

    if (configurationModel != null) {
        renderRequest.setAttribute(ConfigurationAdminWebKeys.CONFIGURATION_MODEL, configurationModel);

        DDMFormRendererHelper ddmFormRendererHelper = new DDMFormRendererHelper(renderRequest, renderResponse,
                configurationModel, _ddmFormRenderer, _resourceBundleLoaderProvider);

        renderRequest.setAttribute(ConfigurationAdminWebKeys.CONFIGURATION_MODEL_FORM_HTML,
                ddmFormRendererHelper.getDDMFormHTML());

        renderRequest.setAttribute(ConfigurationAdminWebKeys.RESOURCE_BUNDLE_LOADER_PROVIDER,
                _resourceBundleLoaderProvider);

        return "/edit_configuration.jsp";
    }

    SessionErrors.add(renderRequest, "entryInvalid");

    return "/error.jsp";
}

From source file:com.liferay.configuration.admin.web.internal.portlet.action.ViewFactoryInstancesMVCRenderCommand.java

License:Open Source License

@Override
public String render(RenderRequest renderRequest, RenderResponse renderResponse) throws PortletException {

    String factoryPid = ParamUtil.getString(renderRequest, "factoryPid");

    MVCRenderCommand customRenderCommand = _renderCommands.get(factoryPid);

    if (customRenderCommand != null) {
        return customRenderCommand.render(renderRequest, renderResponse);
    }/*w  w  w.  j  ava2s .  co  m*/

    ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY);

    Map<String, ConfigurationModel> configurationModels = _configurationModelRetriever
            .getConfigurationModels(themeDisplay.getLanguageId());

    try {
        ConfigurationModel factoryConfigurationModel = configurationModels.get(factoryPid);

        List<ConfigurationModel> factoryInstances = _configurationModelRetriever
                .getFactoryInstances(factoryConfigurationModel);

        renderRequest.setAttribute(ConfigurationAdminWebKeys.CONFIGURATION_MODEL_ITERATOR,
                new ConfigurationModelIterator(factoryInstances));

        renderRequest.setAttribute(ConfigurationAdminWebKeys.FACTORY_CONFIGURATION_MODEL,
                factoryConfigurationModel);

        renderRequest.setAttribute(ConfigurationAdminWebKeys.RESOURCE_BUNDLE_LOADER_PROVIDER,
                _resourceBundleLoaderProvider);

        return "/view_factory_instances.jsp";
    } catch (IOException ioe) {
        throw new PortletException(ioe);
    }
}