com.liferay.wiki.util.test.WikiPageTrashHandlerTestUtil.java Source code

Java tutorial

Introduction

Here is the source code for com.liferay.wiki.util.test.WikiPageTrashHandlerTestUtil.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.wiki.util.test;

import com.liferay.portal.kernel.model.BaseModel;
import com.liferay.portal.kernel.model.ClassedModel;
import com.liferay.portal.kernel.model.Group;
import com.liferay.portal.kernel.service.ServiceContext;
import com.liferay.portal.kernel.test.util.RandomTestUtil;
import com.liferay.portal.kernel.test.util.TestPropsValues;
import com.liferay.portal.kernel.workflow.WorkflowConstants;
import com.liferay.trash.kernel.util.TrashUtil;
import com.liferay.wiki.model.WikiPage;
import com.liferay.wiki.service.WikiNodeLocalServiceUtil;
import com.liferay.wiki.service.WikiPageLocalServiceUtil;

/**
 * @author Roberto Daz
 */
public class WikiPageTrashHandlerTestUtil {

    public static BaseModel<?> addBaseModelWithWorkflow(BaseModel<?> parentBaseModel, boolean approved,
            ServiceContext serviceContext) throws Exception {

        serviceContext = (ServiceContext) serviceContext.clone();

        serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT);

        return WikiTestUtil.addPage(TestPropsValues.getUserId(), serviceContext.getScopeGroupId(),
                (Long) parentBaseModel.getPrimaryKeyObj(), getSearchKeywords(), approved);
    }

    public static BaseModel<?> getBaseModel(long primaryKey) throws Exception {
        return WikiPageLocalServiceUtil.getPageByPageId(primaryKey);
    }

    public static Class<?> getBaseModelClass() {
        return WikiPage.class;
    }

    public static String getBaseModelName(ClassedModel classedModel) {
        WikiPage page = (WikiPage) classedModel;

        return page.getTitle();
    }

    public static int getNotInTrashBaseModelsCount(BaseModel<?> parentBaseModel) throws Exception {

        return WikiPageLocalServiceUtil.getPagesCount((Long) parentBaseModel.getPrimaryKeyObj(), true,
                WorkflowConstants.STATUS_ANY);
    }

    public static BaseModel<?> getParentBaseModel(Group group, ServiceContext serviceContext) throws Exception {

        serviceContext = (ServiceContext) serviceContext.clone();

        serviceContext.setWorkflowAction(WorkflowConstants.STATUS_APPROVED);

        return WikiNodeLocalServiceUtil.addNode(TestPropsValues.getUserId(),
                RandomTestUtil.randomString(_NODE_NAME_MAX_LENGTH), RandomTestUtil.randomString(), serviceContext);
    }

    public static String getSearchKeywords() {
        return _PAGE_TITLE;
    }

    public static long getTrashEntryClassPK(ClassedModel classedModel) {
        WikiPage page = (WikiPage) classedModel;

        return page.getResourcePrimKey();
    }

    public static String getUniqueTitle(BaseModel<?> baseModel) {
        WikiPage page = (WikiPage) baseModel;

        String title = page.getTitle();

        return TrashUtil.getOriginalTitle(title);
    }

    public static void moveBaseModelToTrash(long primaryKey) throws Exception {
        WikiPage page = WikiPageLocalServiceUtil.getPageByPageId(primaryKey);

        WikiPageLocalServiceUtil.movePageToTrash(TestPropsValues.getUserId(), page.getNodeId(), page.getTitle());
    }

    public static void moveParentBaseModelToTrash(long primaryKey) throws Exception {

        WikiNodeLocalServiceUtil.moveNodeToTrash(TestPropsValues.getUserId(), primaryKey);
    }

    public static BaseModel<?> updateBaseModel(long primaryKey, ServiceContext serviceContext) throws Exception {

        WikiPage page = WikiPageLocalServiceUtil.getPageByPageId(primaryKey);

        serviceContext = (ServiceContext) serviceContext.clone();

        return WikiPageLocalServiceUtil.updatePage(TestPropsValues.getUserId(), page.getNodeId(), page.getTitle(),
                page.getVersion(), RandomTestUtil.randomString(), RandomTestUtil.randomString(), false,
                page.getFormat(), page.getParentTitle(), page.getRedirectTitle(), serviceContext);
    }

    private static final int _NODE_NAME_MAX_LENGTH = 75;

    private static final String _PAGE_TITLE = RandomTestUtil.randomString(255);

}