All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.liferay.wiki.web.internal.display.context.DefaultWikiPageInfoPanelDisplayContext Maven / Gradle / Ivy

There is a newer version: 2.1.6
Show newest version
/**
 * 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.wiki.web.internal.display.context;

import com.liferay.portal.kernel.theme.ThemeDisplay;
import com.liferay.portal.kernel.util.StringBundler;
import com.liferay.wiki.display.context.WikiPageInfoPanelDisplayContext;
import com.liferay.wiki.model.WikiNode;
import com.liferay.wiki.model.WikiPage;
import com.liferay.wiki.service.WikiPageLocalServiceUtil;
import com.liferay.wiki.web.internal.display.context.util.WikiPageInfoPanelRequestHelper;

import java.util.List;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author Adolfo Pérez
 */
public class DefaultWikiPageInfoPanelDisplayContext
	implements WikiPageInfoPanelDisplayContext {

	public DefaultWikiPageInfoPanelDisplayContext(
		HttpServletRequest request, HttpServletResponse response) {

		_wikiPageInfoPanelRequestHelper = new WikiPageInfoPanelRequestHelper(
			request);
	}

	@Override
	public WikiPage getFirstPage() {
		List pages = _wikiPageInfoPanelRequestHelper.getPages();

		if (pages.isEmpty()) {
			return _wikiPageInfoPanelRequestHelper.getPage();
		}

		return pages.get(0);
	}

	@Override
	public String getPageRSSURL(WikiPage page) {
		ThemeDisplay themeDisplay =
			_wikiPageInfoPanelRequestHelper.getThemeDisplay();

		StringBundler sb = new StringBundler(5);

		sb.append(themeDisplay.getPathMain());
		sb.append("/wiki/rss?nodeId=");
		sb.append(page.getNodeId());
		sb.append("&title=");
		sb.append(page.getTitle());

		return sb.toString();
	}

	@Override
	public int getPagesCount() {
		WikiNode node = _wikiPageInfoPanelRequestHelper.getCurrentNode();

		return WikiPageLocalServiceUtil.getPagesCount(node.getNodeId(), true);
	}

	@Override
	public int getSelectedPagesCount() {
		List items = getSelectedPages();

		return items.size();
	}

	@Override
	public UUID getUuid() {
		return _UUID;
	}

	@Override
	public boolean isMultiplePageSelection() {
		List items = getSelectedPages();

		if (items.size() > 1) {
			return true;
		}
		else {
			return false;
		}
	}

	@Override
	public boolean isShowSidebarHeader() {
		return _wikiPageInfoPanelRequestHelper.isShowSidebarHeader();
	}

	@Override
	public boolean isSinglePageSelection() {
		List pages = _wikiPageInfoPanelRequestHelper.getPages();

		if (pages.size() == 1) {
			return true;
		}
		else {
			WikiPage page = _wikiPageInfoPanelRequestHelper.getPage();

			if (page != null) {
				return true;
			}

			return false;
		}
	}

	protected List getSelectedPages() {
		return _wikiPageInfoPanelRequestHelper.getPages();
	}

	private static final UUID _UUID = UUID.fromString(
		"7099F1F8-ED73-47D8-9CDC-ED292BF7779F");

	private final WikiPageInfoPanelRequestHelper
		_wikiPageInfoPanelRequestHelper;

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy