com.liferay.dynamic.data.mapping.web.internal.display.context.DDMDisplayContext.java Source code

Java tutorial

Introduction

Here is the source code for com.liferay.dynamic.data.mapping.web.internal.display.context.DDMDisplayContext.java

Source

/**
 * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.liferay.dynamic.data.mapping.web.internal.display.context;

import com.liferay.dynamic.data.mapping.configuration.DDMGroupServiceConfiguration;
import com.liferay.dynamic.data.mapping.constants.DDMPortletKeys;
import com.liferay.dynamic.data.mapping.model.DDMStructure;
import com.liferay.dynamic.data.mapping.model.DDMTemplate;
import com.liferay.dynamic.data.mapping.storage.StorageAdapterRegistry;
import com.liferay.dynamic.data.mapping.util.DDMDisplay;
import com.liferay.dynamic.data.mapping.util.DDMDisplayRegistry;
import com.liferay.dynamic.data.mapping.util.DDMTemplateHelper;
import com.liferay.dynamic.data.mapping.web.configuration.DDMWebConfiguration;
import com.liferay.dynamic.data.mapping.web.internal.context.util.DDMWebRequestHelper;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.portlet.PortalPreferences;
import com.liferay.portal.kernel.portlet.PortletPreferencesFactoryUtil;
import com.liferay.portal.kernel.util.ParamUtil;
import com.liferay.portal.kernel.util.PortalUtil;
import com.liferay.portal.kernel.util.Validator;

import java.util.Set;

import javax.portlet.RenderRequest;

import javax.servlet.http.HttpServletRequest;

/**
 * @author Rafael Praxedes
 */
public class DDMDisplayContext {

    public DDMDisplayContext(RenderRequest renderRequest, DDMDisplayRegistry ddmDisplayRegistry,
            DDMTemplateHelper ddmTemplateHelper, DDMWebConfiguration ddmWebConfiguration,
            StorageAdapterRegistry storageAdapterRegistry) throws PortalException {

        _renderRequest = renderRequest;
        _ddmDisplayRegistry = ddmDisplayRegistry;
        _ddmTemplateHelper = ddmTemplateHelper;
        _ddmWebConfiguration = ddmWebConfiguration;
        _storageAdapterRegistry = storageAdapterRegistry;

        HttpServletRequest httpServletRequest = PortalUtil.getHttpServletRequest(renderRequest);

        _ddmWebRequestHelper = new DDMWebRequestHelper(httpServletRequest);
    }

    public boolean autogenerateStructureKey() {
        return _ddmWebConfiguration.autogenerateStructureKey();
    }

    public boolean autogenerateTemplateKey() {
        return _ddmWebConfiguration.autogenerateTemplateKey();
    }

    public boolean changeableDefaultLanguage() {
        return _ddmWebConfiguration.changeableDefaultLanguage();
    }

    public DDMStructure fetchStructure(DDMTemplate template) {
        return _ddmTemplateHelper.fetchStructure(template);
    }

    public String getAutocompleteJSON(HttpServletRequest request, String language) throws Exception {

        return _ddmTemplateHelper.getAutocompleteJSON(request, language);
    }

    public DDMDisplay getDDMDisplay(String portletId) {
        return _ddmDisplayRegistry.getDDMDisplay(portletId);
    }

    public DDMGroupServiceConfiguration getDDMGroupServiceConfiguration() {
        return _ddmWebRequestHelper.getDDMGroupServiceConfiguration();
    }

    public String getOrderByCol() {
        PortalPreferences portalPreferences = PortletPreferencesFactoryUtil.getPortalPreferences(_renderRequest);

        String orderByCol = ParamUtil.getString(_renderRequest, "orderByCol");

        if (Validator.isNull(orderByCol)) {
            orderByCol = portalPreferences.getValue(DDMPortletKeys.DYNAMIC_DATA_MAPPING, "entries-order-by-col",
                    "modified-date");
        } else {
            portalPreferences.setValue(DDMPortletKeys.DYNAMIC_DATA_MAPPING, "entries-order-by-col", orderByCol);
        }

        return orderByCol;
    }

    public String getOrderByType() {
        PortalPreferences portalPreferences = PortletPreferencesFactoryUtil.getPortalPreferences(_renderRequest);

        String orderByType = ParamUtil.getString(_renderRequest, "orderByType");

        if (Validator.isNull(orderByType)) {
            orderByType = portalPreferences.getValue(DDMPortletKeys.DYNAMIC_DATA_MAPPING, "entries-order-by-type",
                    "asc");
        } else {
            portalPreferences.setValue(DDMPortletKeys.DYNAMIC_DATA_MAPPING, "entries-order-by-type", orderByType);
        }

        return orderByType;
    }

    public Set<String> getStorageTypes() {
        return _storageAdapterRegistry.getStorageTypes();
    }

    public boolean isAutocompleteEnabled(String language) {
        return _ddmTemplateHelper.isAutocompleteEnabled(language);
    }

    public String[] smallImageExtensions() {
        DDMGroupServiceConfiguration ddmGroupServiceConfiguration = _ddmWebRequestHelper
                .getDDMGroupServiceConfiguration();

        return ddmGroupServiceConfiguration.smallImageExtensions();
    }

    public int smallImageMaxSize() {
        DDMGroupServiceConfiguration ddmGroupServiceConfiguration = _ddmWebRequestHelper
                .getDDMGroupServiceConfiguration();

        return ddmGroupServiceConfiguration.smallImageMaxSize();
    }

    private final DDMDisplayRegistry _ddmDisplayRegistry;
    private final DDMTemplateHelper _ddmTemplateHelper;
    private final DDMWebConfiguration _ddmWebConfiguration;
    private final DDMWebRequestHelper _ddmWebRequestHelper;
    private final RenderRequest _renderRequest;
    private final StorageAdapterRegistry _storageAdapterRegistry;

}