List of usage examples for com.liferay.portal.kernel.workflow WorkflowConstants ACTION_SAVE_DRAFT
int ACTION_SAVE_DRAFT
To view the source code for com.liferay.portal.kernel.workflow WorkflowConstants ACTION_SAVE_DRAFT.
Click Source Link
From source file:com.liferay.portlet.messageboards.lar.MBPortletDataHandlerImpl.java
License:Open Source License
protected void importMessage(PortletDataContext portletDataContext, Element messageElement, MBMessage message) throws Exception { long userId = portletDataContext.getUserId(message.getUserUuid()); String userName = message.getUserName(); Map<Long, Long> categoryPKs = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(MBCategory.class); long categoryId = MapUtil.getLong(categoryPKs, message.getCategoryId(), message.getCategoryId()); Map<Long, Long> threadPKs = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(MBThread.class); long threadId = MapUtil.getLong(threadPKs, message.getThreadId(), 0); Map<Long, Long> messagePKs = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(MBMessage.class); long parentMessageId = MapUtil.getLong(messagePKs, message.getParentMessageId(), message.getParentMessageId()); List<String> existingFiles = new ArrayList<String>(); List<ObjectValuePair<String, InputStream>> inputStreamOVPs = getAttachments(portletDataContext, messageElement, message);/*from ww w .j a v a 2 s . c o m*/ try { ServiceContext serviceContext = portletDataContext.createServiceContext(messageElement, message, _NAMESPACE); if (message.getStatus() != WorkflowConstants.STATUS_APPROVED) { serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT); } categoryId = getCategoryId(portletDataContext, message, categoryPKs, categoryId); MBMessage importedMessage = null; if (portletDataContext.isDataStrategyMirror()) { MBMessage existingMessage = MBMessageUtil.fetchByUUID_G(message.getUuid(), portletDataContext.getScopeGroupId()); if (existingMessage == null) { serviceContext.setUuid(message.getUuid()); importedMessage = MBMessageLocalServiceUtil.addMessage(userId, userName, portletDataContext.getScopeGroupId(), categoryId, threadId, parentMessageId, message.getSubject(), message.getBody(), message.getFormat(), inputStreamOVPs, message.getAnonymous(), message.getPriority(), message.getAllowPingbacks(), serviceContext); } else { importedMessage = MBMessageLocalServiceUtil.updateMessage(userId, existingMessage.getMessageId(), message.getSubject(), message.getBody(), inputStreamOVPs, existingFiles, message.getPriority(), message.getAllowPingbacks(), serviceContext); } } else { importedMessage = MBMessageLocalServiceUtil.addMessage(userId, userName, portletDataContext.getScopeGroupId(), categoryId, threadId, parentMessageId, message.getSubject(), message.getBody(), message.getFormat(), inputStreamOVPs, message.getAnonymous(), message.getPriority(), message.getAllowPingbacks(), serviceContext); } threadPKs.put(message.getThreadId(), importedMessage.getThreadId()); portletDataContext.importClassedModel(message, importedMessage, _NAMESPACE); } finally { for (ObjectValuePair<String, InputStream> inputStreamOVP : inputStreamOVPs) { InputStream inputStream = inputStreamOVP.getValue(); StreamUtil.cleanUp(inputStream); } } }
From source file:com.liferay.portlet.messageboards.service.impl.MBMessageLocalServiceImpl.java
License:Open Source License
public MBMessage updateMessage(long userId, long messageId, String subject, String body, List<ObjectValuePair<String, InputStream>> inputStreamOVPs, List<String> existingFiles, double priority, boolean allowPingbacks, ServiceContext serviceContext) throws PortalException, SystemException { // Message/*from w w w . j a v a 2 s . com*/ MBMessage message = mbMessagePersistence.findByPrimaryKey(messageId); subject = ModelHintsUtil.trimString(MBMessage.class.getName(), "subject", subject); body = SanitizerUtil.sanitize(message.getCompanyId(), message.getGroupId(), userId, MBMessage.class.getName(), messageId, "text/" + message.getFormat(), body); Date now = new Date(); validate(subject, body); subject = getSubject(subject, body); body = getBody(subject, body); message.setModifiedDate(serviceContext.getModifiedDate(now)); message.setSubject(subject); message.setBody(body); message.setAttachments(!inputStreamOVPs.isEmpty() || !existingFiles.isEmpty()); message.setAllowPingbacks(allowPingbacks); if (priority != MBThreadConstants.PRIORITY_NOT_GIVEN) { message.setPriority(priority); } if (!message.isPending() && (serviceContext.getWorkflowAction() == WorkflowConstants.ACTION_SAVE_DRAFT)) { message.setStatus(WorkflowConstants.STATUS_DRAFT); } // Attachments long companyId = message.getCompanyId(); long repositoryId = CompanyConstants.SYSTEM; String dirName = message.getAttachmentsDir(); if (!inputStreamOVPs.isEmpty() || !existingFiles.isEmpty()) { try { DLStoreUtil.addDirectory(companyId, repositoryId, dirName); } catch (DuplicateDirectoryException dde) { } String[] fileNames = DLStoreUtil.getFileNames(companyId, repositoryId, dirName); for (String fileName : fileNames) { if (!existingFiles.contains(fileName)) { DLStoreUtil.deleteFile(companyId, repositoryId, fileName); } } for (int i = 0; i < inputStreamOVPs.size(); i++) { ObjectValuePair<String, InputStream> inputStreamOVP = inputStreamOVPs.get(i); String fileName = inputStreamOVP.getKey(); InputStream inputStream = inputStreamOVP.getValue(); try { DLStoreUtil.addFile(companyId, repositoryId, dirName + "/" + fileName, inputStream); } catch (DuplicateFileException dfe) { } } } else { try { DLStoreUtil.deleteDirectory(companyId, repositoryId, dirName); } catch (NoSuchDirectoryException nsde) { } } mbMessagePersistence.update(message, false); // Thread MBThread thread = mbThreadPersistence.findByPrimaryKey(message.getThreadId()); if ((priority != MBThreadConstants.PRIORITY_NOT_GIVEN) && (thread.getPriority() != priority)) { thread.setPriority(priority); mbThreadPersistence.update(thread, false); updatePriorities(thread.getThreadId(), priority); } // Asset updateAsset(userId, message, serviceContext.getAssetCategoryIds(), serviceContext.getAssetTagNames(), serviceContext.getAssetLinkEntryIds()); // Expando ExpandoBridge expandoBridge = message.getExpandoBridge(); expandoBridge.setAttributes(serviceContext); // Workflow serviceContext.setAttribute("update", Boolean.TRUE.toString()); WorkflowHandlerRegistryUtil.startWorkflowInstance(companyId, message.getGroupId(), userId, message.getWorkflowClassName(), message.getMessageId(), message, serviceContext); return message; }
From source file:com.liferay.portlet.wiki.lar.WikiPortletDataHandlerImpl.java
License:Open Source License
public static void importPage(PortletDataContext portletDataContext, Element pageElement, WikiPage page) throws Exception { long userId = portletDataContext.getUserId(page.getUserUuid()); Map<Long, Long> nodePKs = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(WikiNode.class); long nodeId = MapUtil.getLong(nodePKs, page.getNodeId(), page.getNodeId()); String content = JournalPortletDataHandlerImpl.importReferencedContent(portletDataContext, pageElement, page.getContent());/*from w w w . j a va 2 s . c om*/ page.setContent(content); ServiceContext serviceContext = portletDataContext.createServiceContext(pageElement, page, _NAMESPACE); if (page.getStatus() != WorkflowConstants.STATUS_APPROVED) { serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT); } WikiPage importedPage = null; WikiPage existingPage = WikiPageUtil.fetchByUUID_G(page.getUuid(), portletDataContext.getScopeGroupId()); if (existingPage == null) { try { existingPage = WikiPageLocalServiceUtil.getPage(nodeId, page.getTitle()); } catch (NoSuchPageException nspe) { } } if (existingPage == null) { serviceContext.setUuid(page.getUuid()); importedPage = WikiPageLocalServiceUtil.addPage(userId, nodeId, page.getTitle(), page.getVersion(), page.getContent(), page.getSummary(), page.isMinorEdit(), page.getFormat(), page.getHead(), page.getParentTitle(), page.getRedirectTitle(), serviceContext); } else { importedPage = WikiPageLocalServiceUtil.updatePage(userId, nodeId, existingPage.getTitle(), 0, page.getContent(), page.getSummary(), page.isMinorEdit(), page.getFormat(), page.getParentTitle(), page.getRedirectTitle(), serviceContext); } if (portletDataContext.getBooleanParameter(_NAMESPACE, "attachments") && page.isHead()) { for (Element attachmentElement : pageElement.elements("attachment")) { String name = attachmentElement.attributeValue("name"); String binPath = attachmentElement.attributeValue("bin-path"); InputStream inputStream = null; try { inputStream = portletDataContext.getZipEntryAsInputStream(binPath); WikiPageLocalServiceUtil.addPageAttachment(importedPage.getCompanyId(), importedPage.getAttachmentsDir(), importedPage.getModifiedDate(), name, inputStream); } finally { StreamUtil.cleanUp(inputStream); } } } portletDataContext.importClassedModel(page, importedPage, _NAMESPACE); }
From source file:com.liferay.privatemessaging.service.impl.UserThreadLocalServiceImpl.java
License:Open Source License
protected MBMessage addPrivateMessage(long userId, long mbThreadId, long parentMBMessageId, List<User> recipients, String subject, String body, List<ObjectValuePair<String, InputStream>> inputStreamOVPs, ThemeDisplay themeDisplay) throws PortalException { User user = UserLocalServiceUtil.getUser(userId); Group group = GroupLocalServiceUtil.getCompanyGroup(user.getCompanyId()); long categoryId = PrivateMessagingConstants.PRIVATE_MESSAGING_CATEGORY_ID; if (Validator.isNull(subject)) { subject = StringUtil.shorten(body, 50); }/* ww w .ja v a 2 s . c o m*/ boolean anonymous = false; double priority = 0.0; boolean allowPingbacks = false; ServiceContext serviceContext = new ServiceContext(); serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT); MBMessage mbMessage = MBMessageLocalServiceUtil.addMessage(userId, user.getScreenName(), group.getGroupId(), categoryId, mbThreadId, parentMBMessageId, subject, body, MBMessageConstants.DEFAULT_FORMAT, inputStreamOVPs, anonymous, priority, allowPingbacks, serviceContext); if (mbThreadId == 0) { for (User recipient : recipients) { if (recipient.getUserId() != userId) { addUserThread(recipient.getUserId(), mbMessage.getThreadId(), mbMessage.getMessageId(), false, false); } } addUserThread(userId, mbMessage.getThreadId(), mbMessage.getMessageId(), true, false); } else { List<UserThread> userThreads = userThreadPersistence.findByMBThreadId(mbMessage.getThreadId()); for (UserThread userThread : userThreads) { userThread.setModifiedDate(new Date()); if (userThread.getUserId() == userId) { userThread.setRead(true); } else { userThread.setRead(false); } if (userThread.isDeleted()) { userThread.setTopMBMessageId(mbMessage.getMessageId()); userThread.setDeleted(false); } userThreadPersistence.update(userThread); } } // Email try { sendEmail(mbMessage.getMessageId(), themeDisplay); } catch (Exception e) { throw new SystemException(e); } // Notifications sendNotificationEvent(mbMessage); return mbMessage; }
From source file:com.liferay.trash.test.util.BaseTrashHandlerTestCase.java
License:Open Source License
@Test public void testDeleteTrashVersions() throws Exception { Assume.assumeTrue(this instanceof WhenHasParent); Assume.assumeTrue(this instanceof WhenIsUpdatableBaseModel); WhenIsUpdatableBaseModel whenIsUpdatableBaseModel = (WhenIsUpdatableBaseModel) this; ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(group.getGroupId()); BaseModel<?> parentBaseModel = getParentBaseModel(group, serviceContext); int initialTrashVersionsCount = TrashVersionLocalServiceUtil.getTrashVersionsCount(); baseModel = addBaseModel(parentBaseModel, serviceContext); serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT); baseModel = whenIsUpdatableBaseModel.updateBaseModel((Long) baseModel.getPrimaryKeyObj(), serviceContext); WhenHasParent whenHasParent = (WhenHasParent) this; whenHasParent.moveParentBaseModelToTrash((Long) parentBaseModel.getPrimaryKeyObj()); TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(getBaseModelClassName()); trashHandler.deleteTrashEntry(getTrashEntryClassPK(baseModel)); Assert.assertEquals(initialTrashVersionsCount, TrashVersionLocalServiceUtil.getTrashVersionsCount()); }
From source file:com.liferay.trash.test.util.BaseTrashHandlerTestCase.java
License:Open Source License
@Test public void testTrashVersionParentBaseModel() throws Exception { Assume.assumeTrue(this instanceof WhenHasParent); Assume.assumeTrue(this instanceof WhenIsUpdatableBaseModel); Assume.assumeTrue(this instanceof WhenIsVersionableBaseModel); WhenIsVersionableBaseModel whenIsVersionableBaseModel = (WhenIsVersionableBaseModel) this; int initialTrashEntriesCount = getTrashEntriesCount(group.getGroupId()); ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(group.getGroupId()); BaseModel<?> parentBaseModel = getParentBaseModel(group, serviceContext); baseModel = addBaseModel(parentBaseModel, serviceContext); baseModel = whenIsVersionableBaseModel.expireBaseModel(baseModel, serviceContext); WhenIsUpdatableBaseModel whenIsUpdatableBaseModel = (WhenIsUpdatableBaseModel) this; WorkflowedModel workflowedModel = getWorkflowedModel(baseModel); List<Integer> originalStatuses = new ArrayList<>(); originalStatuses.add(workflowedModel.getStatus()); serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH); baseModel = whenIsUpdatableBaseModel.updateBaseModel((Long) baseModel.getPrimaryKeyObj(), serviceContext); workflowedModel = getWorkflowedModel(baseModel); originalStatuses.add(workflowedModel.getStatus()); serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT); baseModel = whenIsUpdatableBaseModel.updateBaseModel((Long) baseModel.getPrimaryKeyObj(), serviceContext); WhenHasParent whenHasParent = (WhenHasParent) this; workflowedModel = getWorkflowedModel(baseModel); originalStatuses.add(workflowedModel.getStatus()); whenHasParent.moveParentBaseModelToTrash((Long) parentBaseModel.getPrimaryKeyObj()); Assert.assertEquals(initialTrashEntriesCount + 1, getTrashEntriesCount(group.getGroupId())); Assert.assertTrue(isInTrashContainer(baseModel)); }
From source file:com.liferay.trash.test.util.BaseTrashHandlerTestCase.java
License:Open Source License
@Test public void testTrashVersionParentBaseModelAndCustomRestore() throws Exception { Assume.assumeTrue(this instanceof WhenHasParent); Assume.assumeFalse(this instanceof WhenIsMoveableFromTrashBaseModel); Assume.assumeTrue(this instanceof WhenIsRestorableParentBaseModelFromTrash); Assume.assumeTrue(this instanceof WhenIsUpdatableBaseModel); Assume.assumeTrue(this instanceof WhenIsVersionableBaseModel); WhenIsVersionableBaseModel whenIsVersionableBaseModel = (WhenIsVersionableBaseModel) this; ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(group.getGroupId()); BaseModel<?> parentBaseModel = getParentBaseModel(group, serviceContext); baseModel = addBaseModel(parentBaseModel, serviceContext); baseModel = whenIsVersionableBaseModel.expireBaseModel(baseModel, serviceContext); WhenIsUpdatableBaseModel whenIsUpdatableBaseModel = (WhenIsUpdatableBaseModel) this; WorkflowedModel workflowedModel = getWorkflowedModel(baseModel); List<Integer> originalStatuses = new ArrayList<>(); originalStatuses.add(workflowedModel.getStatus()); serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH); baseModel = whenIsUpdatableBaseModel.updateBaseModel((Long) baseModel.getPrimaryKeyObj(), serviceContext); workflowedModel = getWorkflowedModel(baseModel); originalStatuses.add(workflowedModel.getStatus()); serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT); baseModel = whenIsUpdatableBaseModel.updateBaseModel((Long) baseModel.getPrimaryKeyObj(), serviceContext); WhenHasParent whenHasParent = (WhenHasParent) this; workflowedModel = getWorkflowedModel(baseModel); originalStatuses.add(workflowedModel.getStatus()); whenHasParent.moveParentBaseModelToTrash((Long) parentBaseModel.getPrimaryKeyObj()); WhenIsRestorableParentBaseModelFromTrash whenIsRestorableParentBaseModelFromTrash = (WhenIsRestorableParentBaseModelFromTrash) this; whenIsRestorableParentBaseModelFromTrash .restoreParentBaseModelFromTrash((Long) parentBaseModel.getPrimaryKeyObj()); List<? extends WorkflowedModel> childrenWorkflowedModels = whenIsRestorableParentBaseModelFromTrash .getChildrenWorkflowedModels(parentBaseModel); for (int i = 1; i <= childrenWorkflowedModels.size(); i++) { WorkflowedModel childrenWorkflowedModel = childrenWorkflowedModels.get(i - 1); int originalStatus = originalStatuses.get(childrenWorkflowedModels.size() - i); Assert.assertEquals(originalStatus, childrenWorkflowedModel.getStatus()); }//from w w w . j av a2 s . c o m }
From source file:com.liferay.trash.test.util.BaseTrashHandlerTestCase.java
License:Open Source License
@Test public void testTrashVersionParentBaseModelAndRestore() throws Exception { Assume.assumeTrue(this instanceof WhenHasParent); Assume.assumeTrue(this instanceof WhenIsMoveableFromTrashBaseModel); Assume.assumeTrue(this instanceof WhenIsUpdatableBaseModel); Assume.assumeTrue(this instanceof WhenIsVersionableBaseModel); WhenIsVersionableBaseModel whenIsVersionableBaseModel = (WhenIsVersionableBaseModel) this; ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(group.getGroupId()); BaseModel<?> parentBaseModel = getParentBaseModel(group, serviceContext); int initialBaseModelsCount = getNotInTrashBaseModelsCount(parentBaseModel); int initialTrashEntriesCount = getTrashEntriesCount(group.getGroupId()); baseModel = addBaseModel(parentBaseModel, serviceContext); baseModel = whenIsVersionableBaseModel.expireBaseModel(baseModel, serviceContext); WhenIsUpdatableBaseModel whenIsUpdatableBaseModel = (WhenIsUpdatableBaseModel) this; WorkflowedModel workflowedModel = getWorkflowedModel(baseModel); List<Integer> originalStatuses = new ArrayList<>(); originalStatuses.add(workflowedModel.getStatus()); serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH); baseModel = whenIsUpdatableBaseModel.updateBaseModel((Long) baseModel.getPrimaryKeyObj(), serviceContext); workflowedModel = getWorkflowedModel(baseModel); originalStatuses.add(workflowedModel.getStatus()); serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT); baseModel = whenIsUpdatableBaseModel.updateBaseModel((Long) baseModel.getPrimaryKeyObj(), serviceContext); WhenHasParent whenHasParent = (WhenHasParent) this; workflowedModel = getWorkflowedModel(baseModel); originalStatuses.add(workflowedModel.getStatus()); whenHasParent.moveParentBaseModelToTrash((Long) parentBaseModel.getPrimaryKeyObj()); WhenIsMoveableFromTrashBaseModel whenIsMoveableFromTrashBaseModel = (WhenIsMoveableFromTrashBaseModel) this; BaseModel<?> newParentBaseModel = whenIsMoveableFromTrashBaseModel.moveBaseModelFromTrash(baseModel, group, serviceContext);/*from w w w .j ava2 s . c om*/ baseModel = getBaseModel((Long) baseModel.getPrimaryKeyObj()); Assert.assertEquals(initialBaseModelsCount + 1, getNotInTrashBaseModelsCount(newParentBaseModel)); Assert.assertEquals(initialTrashEntriesCount + 1, getTrashEntriesCount(group.getGroupId())); }
From source file:com.liferay.trash.test.util.BaseTrashHandlerTestCase.java
License:Open Source License
@Test public void testTrashVersionParentBaseModelAndRestoreIsNotInTrashContainer() throws Exception { Assume.assumeTrue(this instanceof WhenHasParent); Assume.assumeTrue(this instanceof WhenIsMoveableFromTrashBaseModel); Assume.assumeTrue(this instanceof WhenIsUpdatableBaseModel); Assume.assumeTrue(this instanceof WhenIsVersionableBaseModel); WhenIsVersionableBaseModel whenIsVersionableBaseModel = (WhenIsVersionableBaseModel) this; ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(group.getGroupId()); BaseModel<?> parentBaseModel = getParentBaseModel(group, serviceContext); baseModel = addBaseModel(parentBaseModel, serviceContext); baseModel = whenIsVersionableBaseModel.expireBaseModel(baseModel, serviceContext); WhenIsUpdatableBaseModel whenIsUpdatableBaseModel = (WhenIsUpdatableBaseModel) this; WorkflowedModel workflowedModel = getWorkflowedModel(baseModel); List<Integer> originalStatuses = new ArrayList<>(); originalStatuses.add(workflowedModel.getStatus()); serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH); baseModel = whenIsUpdatableBaseModel.updateBaseModel((Long) baseModel.getPrimaryKeyObj(), serviceContext); workflowedModel = getWorkflowedModel(baseModel); originalStatuses.add(workflowedModel.getStatus()); serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT); baseModel = whenIsUpdatableBaseModel.updateBaseModel((Long) baseModel.getPrimaryKeyObj(), serviceContext); WhenHasParent whenHasParent = (WhenHasParent) this; workflowedModel = getWorkflowedModel(baseModel); originalStatuses.add(workflowedModel.getStatus()); whenHasParent.moveParentBaseModelToTrash((Long) parentBaseModel.getPrimaryKeyObj()); WhenIsMoveableFromTrashBaseModel whenIsMoveableFromTrashBaseModel = (WhenIsMoveableFromTrashBaseModel) this; whenIsMoveableFromTrashBaseModel.moveBaseModelFromTrash(baseModel, group, serviceContext); baseModel = getBaseModel((Long) baseModel.getPrimaryKeyObj()); Assert.assertFalse(isInTrashContainer(baseModel)); }
From source file:com.liferay.trash.test.util.BaseTrashHandlerTestCase.java
License:Open Source License
@Test public void testTrashVersionParentBaseModelAndRestoreIsVisible() throws Exception { Assume.assumeTrue(this instanceof WhenHasParent); Assume.assumeTrue(this instanceof WhenIsAssetableBaseModel); Assume.assumeTrue(this instanceof WhenIsMoveableFromTrashBaseModel); Assume.assumeTrue(this instanceof WhenIsUpdatableBaseModel); Assume.assumeTrue(this instanceof WhenIsVersionableBaseModel); WhenIsVersionableBaseModel whenIsVersionableBaseModel = (WhenIsVersionableBaseModel) this; ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(group.getGroupId()); BaseModel<?> parentBaseModel = getParentBaseModel(group, serviceContext); baseModel = addBaseModel(parentBaseModel, serviceContext); baseModel = whenIsVersionableBaseModel.expireBaseModel(baseModel, serviceContext); WhenIsUpdatableBaseModel whenIsUpdatableBaseModel = (WhenIsUpdatableBaseModel) this; WorkflowedModel workflowedModel = getWorkflowedModel(baseModel); List<Integer> originalStatuses = new ArrayList<>(); originalStatuses.add(workflowedModel.getStatus()); serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH); baseModel = whenIsUpdatableBaseModel.updateBaseModel((Long) baseModel.getPrimaryKeyObj(), serviceContext); workflowedModel = getWorkflowedModel(baseModel); originalStatuses.add(workflowedModel.getStatus()); serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT); baseModel = whenIsUpdatableBaseModel.updateBaseModel((Long) baseModel.getPrimaryKeyObj(), serviceContext); WhenHasParent whenHasParent = (WhenHasParent) this; workflowedModel = getWorkflowedModel(baseModel); originalStatuses.add(workflowedModel.getStatus()); whenHasParent.moveParentBaseModelToTrash((Long) parentBaseModel.getPrimaryKeyObj()); WhenIsMoveableFromTrashBaseModel whenIsMoveableFromTrashBaseModel = (WhenIsMoveableFromTrashBaseModel) this; whenIsMoveableFromTrashBaseModel.moveBaseModelFromTrash(baseModel, group, serviceContext); WhenIsAssetableBaseModel whenIsAssetableModel = (WhenIsAssetableBaseModel) this; baseModel = getBaseModel((Long) baseModel.getPrimaryKeyObj()); Assert.assertTrue(whenIsAssetableModel.isAssetEntryVisible(baseModel, getAssetClassPK(baseModel))); }