/** * 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.bookmarks.util.test; import com.liferay.bookmarks.model.BookmarksEntry; import com.liferay.bookmarks.model.BookmarksFolder; import com.liferay.bookmarks.model.BookmarksFolderConstants; import com.liferay.bookmarks.service.BookmarksEntryLocalServiceUtil; import com.liferay.bookmarks.service.BookmarksEntryServiceUtil; import com.liferay.bookmarks.service.BookmarksFolderServiceUtil; import com.liferay.portal.kernel.search.QueryConfig; import com.liferay.portal.kernel.search.SearchContext; import com.liferay.portal.kernel.service.ServiceContext; import com.liferay.portal.kernel.test.util.RandomTestUtil; import com.liferay.portal.kernel.test.util.ServiceContextTestUtil; import com.liferay.portal.kernel.test.util.TestPropsValues; import com.liferay.portal.kernel.util.Constants; import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.kernel.workflow.WorkflowConstants; import com.liferay.portal.kernel.workflow.WorkflowThreadLocal; /** * @author Brian Wing Shun Chan * @author Manuel de la Peña */ public class BookmarksTestUtil { public static BookmarksEntry addEntry(boolean approved) throws Exception { return addEntry(TestPropsValues.getGroupId(), approved); } public static BookmarksEntry addEntry(long groupId, boolean approved) throws Exception { ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(groupId); return addEntry( BookmarksFolderConstants.DEFAULT_PARENT_FOLDER_ID, approved, serviceContext); } public static BookmarksEntry addEntry( long folderId, boolean approved, ServiceContext serviceContext) throws Exception { return addEntry("Test Entry", folderId, approved, serviceContext); } public static BookmarksEntry addEntry( String name, long folderId, boolean approved, ServiceContext serviceContext) throws Exception { boolean workflowEnabled = WorkflowThreadLocal.isEnabled(); try { WorkflowThreadLocal.setEnabled(true); String url = "http://www.liferay.com"; String description = "This is a test entry."; serviceContext = (ServiceContext)serviceContext.clone(); serviceContext.setWorkflowAction( WorkflowConstants.ACTION_SAVE_DRAFT); BookmarksEntry entry = BookmarksEntryServiceUtil.addEntry( serviceContext.getScopeGroupId(), folderId, name, url, description, serviceContext); serviceContext.setCommand(Constants.ADD); serviceContext.setLayoutFullURL("http://localhost"); if (approved) { entry.setStatus(WorkflowConstants.STATUS_APPROVED); entry = BookmarksEntryServiceUtil.updateEntry( entry.getEntryId(), serviceContext.getScopeGroupId(), entry.getFolderId(), entry.getName(), entry.getUrl(), entry.getUrl(), serviceContext); } return entry; } finally { WorkflowThreadLocal.setEnabled(workflowEnabled); } } public static BookmarksFolder addFolder( long groupId, long parentFolderId, String name) throws Exception { ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(groupId); return addFolder(parentFolderId, name, serviceContext); } public static BookmarksFolder addFolder(long groupId, String name) throws Exception { return addFolder( groupId, BookmarksFolderConstants.DEFAULT_PARENT_FOLDER_ID, name); } public static BookmarksFolder addFolder( long parentFolderId, String name, ServiceContext serviceContext) throws Exception { String description = "This is a test folder."; return BookmarksFolderServiceUtil.addFolder( parentFolderId, name, description, serviceContext); } public static BookmarksFolder addFolder(String name) throws Exception { return addFolder(TestPropsValues.getGroupId(), name); } public static SearchContext getSearchContext( long companyId, long groupId, long folderId, String keywords) { return getSearchContext( companyId, groupId, folderId, keywords, false, false); } public static SearchContext getSearchContext( long companyId, long groupId, long folderId, String keywords, boolean highlight, boolean score) { SearchContext searchContext = new SearchContext(); searchContext.setCompanyId(companyId); searchContext.setFolderIds(new long[] {folderId}); searchContext.setGroupIds(new long[] {groupId}); searchContext.setKeywords(keywords); QueryConfig queryConfig = new QueryConfig(); queryConfig.setHighlightEnabled(highlight); queryConfig.setScoreEnabled(score); searchContext.setQueryConfig(queryConfig); return searchContext; } public static void populateNotificationsServiceContext( ServiceContext serviceContext, String command) throws Exception { serviceContext.setAttribute("entryURL", "http://localhost"); if (Validator.isNotNull(command)) { serviceContext.setCommand(command); } serviceContext.setLayoutFullURL("http://localhost"); } public static BookmarksEntry updateEntry(BookmarksEntry entry) throws Exception { return updateEntry(entry, RandomTestUtil.randomString()); } public static BookmarksEntry updateEntry(BookmarksEntry entry, String name) throws Exception { ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(entry.getGroupId()); serviceContext.setCommand(Constants.UPDATE); serviceContext.setLayoutFullURL("http://localhost"); return BookmarksEntryLocalServiceUtil.updateEntry( TestPropsValues.getUserId(), entry.getEntryId(), entry.getGroupId(), entry.getFolderId(), name, entry.getUrl(), entry.getDescription(), serviceContext); } }