Example usage for com.liferay.portal.kernel.workflow WorkflowConstants ACTION_PUBLISH

List of usage examples for com.liferay.portal.kernel.workflow WorkflowConstants ACTION_PUBLISH

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.workflow WorkflowConstants ACTION_PUBLISH.

Prototype

int ACTION_PUBLISH

To view the source code for com.liferay.portal.kernel.workflow WorkflowConstants ACTION_PUBLISH.

Click Source Link

Usage

From source file:com.liferay.portlet.wiki.service.impl.WikiPageLocalServiceImpl.java

License:Open Source License

public WikiPage addPage(long userId, long nodeId, String title, double version, String content, String summary,
        boolean minorEdit, String format, boolean head, String parentTitle, String redirectTitle,
        ServiceContext serviceContext) throws PortalException, SystemException {

    // Page//from   w w w .j a  va2s.  c  o m

    User user = userPersistence.findByPrimaryKey(userId);
    WikiNode node = wikiNodePersistence.findByPrimaryKey(nodeId);
    Date now = new Date();

    long pageId = counterLocalService.increment();

    content = SanitizerUtil.sanitize(user.getCompanyId(), node.getGroupId(), userId, WikiPage.class.getName(),
            pageId, "text/" + format, content);

    validate(title, nodeId, content, format);

    long resourcePrimKey = wikiPageResourceLocalService.getPageResourcePrimKey(nodeId, title);

    WikiPage page = wikiPagePersistence.create(pageId);

    page.setUuid(serviceContext.getUuid());
    page.setResourcePrimKey(resourcePrimKey);
    page.setGroupId(node.getGroupId());
    page.setCompanyId(user.getCompanyId());
    page.setUserId(user.getUserId());
    page.setUserName(user.getFullName());
    page.setCreateDate(serviceContext.getCreateDate(now));
    page.setModifiedDate(serviceContext.getModifiedDate(now));
    page.setNodeId(nodeId);
    page.setTitle(title);
    page.setVersion(version);
    page.setMinorEdit(minorEdit);
    page.setContent(content);
    page.setStatus(WorkflowConstants.STATUS_DRAFT);
    page.setSummary(summary);
    page.setFormat(format);
    page.setHead(head);
    page.setParentTitle(parentTitle);
    page.setRedirectTitle(redirectTitle);

    wikiPagePersistence.update(page, false);

    // Resources

    if (serviceContext.isAddGroupPermissions() || serviceContext.isAddGuestPermissions()) {

        addPageResources(page, serviceContext.isAddGroupPermissions(), serviceContext.isAddGuestPermissions());
    } else {
        addPageResources(page, serviceContext.getGroupPermissions(), serviceContext.getGuestPermissions());
    }

    // Node

    node.setLastPostDate(serviceContext.getModifiedDate(now));

    wikiNodePersistence.update(node, false);

    // Asset

    updateAsset(userId, page, serviceContext.getAssetCategoryIds(), serviceContext.getAssetTagNames(),
            serviceContext.getAssetLinkEntryIds());

    // Expando

    ExpandoBridge expandoBridge = page.getExpandoBridge();

    expandoBridge.setAttributes(serviceContext);

    // Message boards

    if (PropsValues.WIKI_PAGE_COMMENTS_ENABLED) {
        mbMessageLocalService.addDiscussionMessage(userId, page.getUserName(), page.getGroupId(),
                WikiPage.class.getName(), resourcePrimKey, WorkflowConstants.ACTION_PUBLISH);
    }

    // Workflow

    WorkflowHandlerRegistryUtil.startWorkflowInstance(user.getCompanyId(), page.getGroupId(), userId,
            WikiPage.class.getName(), page.getPageId(), page, serviceContext);

    return page;
}

From source file:com.liferay.screens.service.impl.ScreensCommentServiceImpl.java

License:Open Source License

@Override
public JSONObject updateComment(long commentId, String body) throws PortalException {

    DiscussionPermission discussionPermission = commentManager.getDiscussionPermission(getPermissionChecker());

    discussionPermission.checkUpdatePermission(commentId);

    Comment comment = commentManager.fetchComment(commentId);

    commentManager.updateComment(getUserId(), comment.getClassName(), comment.getClassPK(), commentId,
            StringPool.BLANK, body, createServiceContextFunction(WorkflowConstants.ACTION_PUBLISH));

    comment = commentManager.fetchComment(commentId);

    return toJSONObject(comment, discussionPermission);
}

From source file:com.liferay.shopping.service.impl.ShoppingOrderLocalServiceImpl.java

License:Open Source License

public ShoppingOrder addLatestOrder(long userId, long groupId) throws PortalException, SystemException {

    // Order//from  ww  w  .j a va  2s  .  c  o  m

    User user = userPersistence.findByPrimaryKey(userId);
    Date now = new Date();

    String number = getNumber();

    ShoppingOrder order = null;

    long orderId = counterLocalService.increment();

    List<ShoppingOrder> pastOrders = shoppingOrderPersistence.findByG_U_PPPS(groupId, userId,
            ShoppingOrderConstants.STATUS_CHECKOUT, 0, 1);

    if (pastOrders.size() > 0) {
        ShoppingOrder pastOrder = pastOrders.get(0);

        order = shoppingOrderPersistence.create(orderId);

        order.setBillingCompany(pastOrder.getBillingCompany());
        order.setBillingStreet(pastOrder.getBillingStreet());
        order.setBillingCity(pastOrder.getBillingCity());
        order.setBillingState(pastOrder.getBillingState());
        order.setBillingZip(pastOrder.getBillingZip());
        order.setBillingCountry(pastOrder.getBillingCountry());
        order.setBillingPhone(pastOrder.getBillingPhone());
        order.setShipToBilling(pastOrder.isShipToBilling());
        order.setShippingCompany(pastOrder.getShippingCompany());
        order.setShippingStreet(pastOrder.getShippingStreet());
        order.setShippingCity(pastOrder.getShippingCity());
        order.setShippingState(pastOrder.getShippingState());
        order.setShippingZip(pastOrder.getShippingZip());
        order.setShippingCountry(pastOrder.getShippingCountry());
        order.setShippingPhone(pastOrder.getShippingPhone());
    } else {
        order = shoppingOrderPersistence.create(orderId);
    }

    order.setGroupId(groupId);
    order.setCompanyId(user.getCompanyId());
    order.setUserId(user.getUserId());
    order.setUserName(user.getFullName());
    order.setCreateDate(now);
    order.setModifiedDate(now);
    order.setNumber(number);
    order.setBillingFirstName(user.getFirstName());
    order.setBillingLastName(user.getLastName());
    order.setBillingEmailAddress(user.getEmailAddress());
    order.setShippingFirstName(user.getFirstName());
    order.setShippingLastName(user.getLastName());
    order.setShippingEmailAddress(user.getEmailAddress());
    order.setCcName(user.getFullName());
    order.setPpPaymentStatus(ShoppingOrderConstants.STATUS_LATEST);
    order.setSendOrderEmail(true);
    order.setSendShippingEmail(true);

    shoppingOrderPersistence.update(order, false);

    // Message boards

    if (GetterUtil.getBoolean(PropsUtil.get(PropsKeys.SHOPPING_ORDER_COMMENTS_ENABLED))) {
        mbMessageLocalService.addDiscussionMessage(userId, order.getUserName(), groupId,
                ShoppingOrder.class.getName(), orderId, WorkflowConstants.ACTION_PUBLISH);
    }

    return order;
}

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());
    }/*w w  w  .  j a  v  a 2s.co  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 . ja va 2 s  .  co m*/

    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)));
}

From source file:com.liferay.trash.test.util.BaseTrashHandlerTestCase.java

License:Open Source License

@Test
public void testTrashVersionParentBaseModelIndexable() throws Exception {
    Assume.assumeTrue(this instanceof WhenIsIndexableBaseModel);
    Assume.assumeTrue(this instanceof WhenIsUpdatableBaseModel);
    Assume.assumeTrue(this instanceof WhenIsVersionableBaseModel);

    WhenIsIndexableBaseModel whenIsIndexableBaseModel = (WhenIsIndexableBaseModel) this;

    int initialBaseModelsSearchCount = whenIsIndexableBaseModel.searchBaseModelsCount(getBaseModelClass(),
            group.getGroupId());// w ww .j a v a  2  s.  c  o m

    ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(group.getGroupId());

    int initialTrashEntriesSearchCount = whenIsIndexableBaseModel
            .searchTrashEntriesCount(whenIsIndexableBaseModel.getSearchKeywords(), serviceContext);

    WhenIsVersionableBaseModel whenIsVersionableBaseModel = (WhenIsVersionableBaseModel) this;

    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);

    workflowedModel = getWorkflowedModel(baseModel);

    originalStatuses.add(workflowedModel.getStatus());

    Assert.assertEquals(initialBaseModelsSearchCount + 1,
            whenIsIndexableBaseModel.searchBaseModelsCount(getBaseModelClass(), group.getGroupId()));
    Assert.assertEquals(initialTrashEntriesSearchCount, whenIsIndexableBaseModel
            .searchTrashEntriesCount(whenIsIndexableBaseModel.getSearchKeywords(), serviceContext));
}

From source file:com.liferay.trash.test.util.BaseTrashHandlerTestCase.java

License:Open Source License

@Test
public void testTrashVersionParentBaseModelIsNotVisible() throws Exception {
    Assume.assumeTrue(this instanceof WhenHasParent);
    Assume.assumeTrue(this instanceof WhenIsAssetableBaseModel);
    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());

    WhenIsAssetableBaseModel whenIsAssetableModel = (WhenIsAssetableBaseModel) this;

    Assert.assertFalse(whenIsAssetableModel.isAssetEntryVisible(baseModel, getAssetClassPK(baseModel)));
}