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.dynamic.data.mapping.service.impl.DDMFormInstanceRecordLocalServiceImpl.java

License:Open Source License

@Indexable(type = IndexableType.REINDEX)
@Override//from  w w  w  .j  a  v a2 s.  c  om
public DDMFormInstanceRecord addFormInstanceRecord(long userId, long groupId, long ddmFormInstanceId,
        DDMFormValues ddmFormValues, ServiceContext serviceContext) throws PortalException {

    User user = userLocalService.getUser(userId);

    DDMFormInstance ddmFormInstance = ddmFormInstancePersistence.findByPrimaryKey(ddmFormInstanceId);

    validate(groupId, ddmFormInstance);

    long recordId = counterLocalService.increment();

    DDMFormInstanceRecord ddmFormInstanceRecord = ddmFormInstanceRecordPersistence.create(recordId);

    ddmFormInstanceRecord.setUuid(serviceContext.getUuid());
    ddmFormInstanceRecord.setGroupId(groupId);
    ddmFormInstanceRecord.setCompanyId(user.getCompanyId());
    ddmFormInstanceRecord.setUserId(user.getUserId());
    ddmFormInstanceRecord.setUserName(user.getFullName());
    ddmFormInstanceRecord.setVersionUserId(user.getUserId());
    ddmFormInstanceRecord.setVersionUserName(user.getFullName());

    StorageEngine storageEngine = storageEngineAccessor.getStorageEngine();

    long ddmStorageId = storageEngine.create(ddmFormInstance.getCompanyId(), ddmFormInstance.getStructureId(),
            ddmFormValues, serviceContext);

    ddmFormInstanceRecord.setStorageId(ddmStorageId);

    ddmFormInstanceRecord.setFormInstanceId(ddmFormInstanceId);
    ddmFormInstanceRecord.setFormInstanceVersion(ddmFormInstance.getVersion());
    ddmFormInstanceRecord.setVersion(_VERSION_DEFAULT);

    ddmFormInstanceRecordPersistence.update(ddmFormInstanceRecord);

    int status = GetterUtil.getInteger(serviceContext.getAttribute("status"), WorkflowConstants.STATUS_DRAFT);

    DDMFormInstanceRecordVersion ddmFormInstanceRecordVersion = addFormInstanceRecordVersion(user,
            ddmFormInstanceRecord, ddmStorageId, status, _VERSION_DEFAULT);

    // Asset

    Locale locale = serviceContext.getLocale();

    updateAsset(userId, ddmFormInstanceRecord, ddmFormInstanceRecordVersion,
            serviceContext.getAssetCategoryIds(), serviceContext.getAssetTagNames(), locale,
            serviceContext.getAssetPriority());

    if (serviceContext.getWorkflowAction() == WorkflowConstants.ACTION_PUBLISH) {

        WorkflowHandlerRegistryUtil.startWorkflowInstance(user.getCompanyId(), groupId, userId,
                DDMFormInstanceRecord.class.getName(),
                ddmFormInstanceRecordVersion.getFormInstanceRecordVersionId(), ddmFormInstanceRecordVersion,
                serviceContext);
    }

    return ddmFormInstanceRecord;
}

From source file:com.liferay.dynamic.data.mapping.service.impl.DDMFormInstanceRecordLocalServiceImpl.java

License:Open Source License

@Indexable(type = IndexableType.REINDEX)
@Override/*from  ww w . j av  a2  s  .c om*/
public DDMFormInstanceRecord updateFormInstanceRecord(long userId, long ddmFormInstanceRecordId,
        boolean majorVersion, DDMFormValues ddmFormValues, ServiceContext serviceContext)
        throws PortalException {

    User user = userLocalService.getUser(userId);

    DDMFormInstanceRecord ddmFormInstanceRecord = ddmFormInstanceRecordPersistence
            .findByPrimaryKey(ddmFormInstanceRecordId);

    ddmFormInstanceRecord.setModifiedDate(serviceContext.getModifiedDate(null));

    ddmFormInstanceRecord = ddmFormInstanceRecordPersistence.update(ddmFormInstanceRecord);

    StorageEngine storageEngine = storageEngineAccessor.getStorageEngine();

    DDMFormInstanceRecordVersion ddmFormInstanceRecordVersion = ddmFormInstanceRecord
            .getLatestFormInstanceRecordVersion();

    if (ddmFormInstanceRecordVersion.isApproved()) {
        DDMFormInstance ddmFormInstance = ddmFormInstanceRecord.getFormInstance();

        long ddmStorageId = storageEngine.create(ddmFormInstance.getCompanyId(),
                ddmFormInstance.getStructureId(), ddmFormValues, serviceContext);

        String version = getNextVersion(ddmFormInstanceRecordVersion.getVersion(), majorVersion,
                serviceContext.getWorkflowAction());

        ddmFormInstanceRecordVersion = addFormInstanceRecordVersion(user, ddmFormInstanceRecord, ddmStorageId,
                WorkflowConstants.STATUS_DRAFT, version);
    } else {
        storageEngine.update(ddmFormInstanceRecordVersion.getStorageId(), ddmFormValues, serviceContext);

        String version = ddmFormInstanceRecordVersion.getVersion();

        updateFormInstanceRecordVersion(user, ddmFormInstanceRecordVersion,
                ddmFormInstanceRecordVersion.getStatus(), version, serviceContext);
    }

    if (isKeepFormInstanceRecordVersionLabel(ddmFormInstanceRecord.getFormInstanceRecordVersion(),
            ddmFormInstanceRecordVersion, serviceContext)) {

        ddmFormInstanceRecordVersionPersistence.remove(ddmFormInstanceRecordVersion);

        storageEngine.deleteByClass(ddmFormInstanceRecordVersion.getStorageId());

        return ddmFormInstanceRecord;
    }

    if (serviceContext.getWorkflowAction() == WorkflowConstants.ACTION_PUBLISH) {

        WorkflowHandlerRegistryUtil.startWorkflowInstance(user.getCompanyId(),
                ddmFormInstanceRecord.getGroupId(), userId, DDMFormInstanceRecord.class.getName(),
                ddmFormInstanceRecordVersion.getFormInstanceRecordVersionId(), ddmFormInstanceRecordVersion,
                serviceContext);
    }

    return ddmFormInstanceRecord;
}

From source file:com.liferay.events.global.mobile.service.impl.EventContactServiceImpl.java

License:Open Source License

@AccessControlled(guestAccessEnabled = true)
@Override//  www .ja v a2 s.co  m
public EventContact updateProfilePic(final String eventId, final long contactId, final String mimeType,
        final String extension, final String bytes, String signature) throws Exception {
    Map<String, String> args = new HashMap<String, String>() {
        {
            put("eventId", StringUtil.valueOf(eventId));
            put("extension", StringUtil.valueOf(extension));
            put("contactId", StringUtil.valueOf(contactId));
            put("mimeType", StringUtil.valueOf(mimeType));
            put("bytes", StringUtil.valueOf(bytes));
        }
    };

    if (!Utils.isValidSignature(args, signature)) {
        throw new InvalidSignatureException("invalid signature");

    }

    EventContact contact = EventContactLocalServiceUtil.getEventContact(contactId);

    if (Validator.isNull(contact)) {
        throw new InvalidSignatureException("No such contact");
    }

    final String groupName = GroupConstants.GUEST;
    final long companyId = PortalUtil.getDefaultCompanyId();
    final long guestGroupId = GroupLocalServiceUtil.getGroup(companyId, groupName).getGroupId();
    ServiceContext sc = new ServiceContext();
    sc.setAddGuestPermissions(true);
    sc.setAddGroupPermissions(true);
    sc.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);

    String[] permissions = { "VIEW" };

    sc.setGuestPermissions(permissions);
    sc.setGroupPermissions(permissions);

    DLFolder folder;
    try {
        folder = DLFolderLocalServiceUtil.getFolder(guestGroupId, DLFolderConstants.DEFAULT_PARENT_FOLDER_ID,
                "profilePics");
    } catch (Exception ex) {

        folder = DLFolderLocalServiceUtil.addFolder(getUserId(), guestGroupId, guestGroupId, true,
                DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, "profilePics", "Profile Pics for Liferay Events",
                false, sc);
    }

    if (Validator.isNull(folder)) {
        throw new Exception("Cannot save picture to profilePics folder");
    }

    try {
        DLFileEntry existingPic = DLFileEntryLocalServiceUtil.getFileEntry(guestGroupId, folder.getFolderId(),
                eventId + "-" + contact.getFullName());
        DLFileEntryLocalServiceUtil.deleteDLFileEntry(existingPic);
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    byte[] imgBytes = Base64.decode(bytes);

    FileEntry newEntry = DLAppLocalServiceUtil.addFileEntry(getUserId(), guestGroupId, folder.getFolderId(),
            eventId + "-" + contact.getEventContactId() + "." + extension, mimeType,
            eventId + "-" + contact.getFullName(), eventId + "-" + contact.getFullName() + " pic", "", imgBytes,
            sc);

    String newPicUrl = PortalUtil.getPathMain() + "/document_library/get_file?uuid=" + newEntry.getUuid()
            + "&groupId=" + guestGroupId;
    contact.setPicUrl(newPicUrl);
    EventContactLocalServiceUtil.updateEventContact(contact);
    return contact;
}

From source file:com.liferay.exportimport.lar.PortletDataContextImpl.java

License:Open Source License

protected ServiceContext createServiceContext(Element element, String path, ClassedModel classedModel,
        Class<?> clazz) {/*from  w  w w.  j a va2 s .  co m*/

    ServiceContext serviceContext = new ServiceContext();

    // Theme display

    serviceContext.setCompanyId(getCompanyId());
    serviceContext.setScopeGroupId(getScopeGroupId());

    // Dates

    if (classedModel instanceof AuditedModel) {
        AuditedModel auditedModel = (AuditedModel) classedModel;

        serviceContext.setUserId(getUserId(auditedModel));
        serviceContext.setCreateDate(auditedModel.getCreateDate());
        serviceContext.setModifiedDate(auditedModel.getModifiedDate());
    }

    // Permissions

    if (!MapUtil.getBoolean(_parameterMap, PortletDataHandlerKeys.PERMISSIONS)) {

        serviceContext.setAddGroupPermissions(true);
        serviceContext.setAddGuestPermissions(true);
    }

    // Asset

    if (isResourceMain(classedModel)) {
        Serializable classPKObj = ExportImportClassedModelUtil.getPrimaryKeyObj(classedModel);

        long[] assetCategoryIds = getAssetCategoryIds(clazz, classPKObj);

        serviceContext.setAssetCategoryIds(assetCategoryIds);

        String[] assetTagNames = getAssetTagNames(clazz, classPKObj);

        serviceContext.setAssetTagNames(assetTagNames);
    }

    if (element != null) {
        Attribute assetPriorityAttribute = element.attribute("asset-entry-priority");

        if (assetPriorityAttribute != null) {
            double assetPriority = GetterUtil.getDouble(assetPriorityAttribute.getValue());

            serviceContext.setAssetPriority(assetPriority);
        }
    }

    // Expando

    String expandoPath = null;

    if (element != null) {
        expandoPath = element.attributeValue("expando-path");
    } else {
        expandoPath = ExportImportPathUtil.getExpandoPath(path);
    }

    if (Validator.isNotNull(expandoPath)) {
        try {
            Map<String, Serializable> expandoBridgeAttributes = (Map<String, Serializable>) getZipEntryAsObject(
                    expandoPath);

            if (expandoBridgeAttributes != null) {
                serviceContext.setExpandoBridgeAttributes(expandoBridgeAttributes);
            }
        } catch (Exception e) {
            if (_log.isDebugEnabled()) {
                _log.debug(e, e);
            }
        }
    }

    // Workflow

    if (classedModel instanceof WorkflowedModel) {
        WorkflowedModel workflowedModel = (WorkflowedModel) classedModel;

        if (workflowedModel.getStatus() == WorkflowConstants.STATUS_APPROVED) {

            serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);
        } else if (workflowedModel.getStatus() == WorkflowConstants.STATUS_DRAFT) {

            serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT);
        }
    }

    return serviceContext;
}

From source file:com.liferay.journal.asset.test.JournalArticleAssetSearchTest.java

License:Open Source License

@Override
protected BaseModel<?> addBaseModel(BaseModel<?> parentBaseModel, Map<Locale, String> titleMap,
        ServiceContext serviceContext) throws Exception {

    serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);

    return JournalTestUtil.addArticle(serviceContext.getScopeGroupId(),
            JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID, JournalArticleConstants.CLASSNAME_ID_DEFAULT,
            titleMap, null, titleMap, LocaleUtil.getSiteDefault(), false, false, serviceContext);
}

From source file:com.liferay.journal.asset.test.JournalArticleAssetSearchTest.java

License:Open Source License

@Override
protected BaseModel<?> addBaseModel(BaseModel<?> parentBaseModel, String keywords, Date expirationDate,
        ServiceContext serviceContext) throws Exception {

    serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);

    return JournalTestUtil.addArticle(serviceContext.getScopeGroupId(), keywords, "Content", expirationDate,
            serviceContext);/*from   ww  w.  j  av a2  s  .  c o m*/
}

From source file:com.liferay.journal.asset.test.JournalArticleAssetSearchTest.java

License:Open Source License

@Override
protected BaseModel<?> addBaseModel(BaseModel<?> parentBaseModel, String keywords,
        ServiceContext serviceContext) throws Exception {

    serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);

    return JournalTestUtil.addArticle(serviceContext.getScopeGroupId(), keywords, "Content", serviceContext);
}

From source file:com.liferay.journal.search.test.JournalIndexerTest.java

License:Open Source License

@Test
public void testDeleteArticles() throws Exception {
    SearchContext searchContext = SearchContextTestUtil.getSearchContext(_group.getGroupId());

    searchContext.setKeywords("Architectural");

    assertSearchCount(0, _group.getGroupId(), searchContext);

    JournalFolder folder = JournalTestUtil.addFolder(_group.getGroupId(), RandomTestUtil.randomString());

    JournalArticle article1 = JournalTestUtil.addArticleWithWorkflow(_group.getGroupId(), folder.getFolderId(),
            "title", "Liferay Architectural Approach", true);

    assertSearchCount(1, _group.getGroupId(), searchContext);

    String content = DDMStructureTestUtil.getSampleStructuredContent("Architectural Approach");

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

    serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);

    JournalTestUtil.updateArticle(article1, article1.getTitleMap(), content, false, true, serviceContext);

    JournalArticle article2 = JournalTestUtil.addArticleWithWorkflow(_group.getGroupId(), folder.getFolderId(),
            "title", "Apple Architectural Tablet", true);

    assertSearchCount(2, _group.getGroupId(), searchContext);

    content = DDMStructureTestUtil.getSampleStructuredContent("Architectural Tablet");

    JournalTestUtil.updateArticle(article2, article2.getTitleMap(), content, false, true, serviceContext);

    JournalArticleLocalServiceUtil.deleteArticles(_group.getGroupId());

    assertSearchCount(0, _group.getGroupId(), searchContext);
}

From source file:com.liferay.journal.search.test.JournalIndexerTest.java

License:Open Source License

@Test
public void testIndexVersions() throws Exception {
    SearchContext searchContext = SearchContextTestUtil.getSearchContext(_group.getGroupId());

    assertSearchCount(0, _group.getGroupId(), searchContext);

    JournalFolder folder = JournalTestUtil.addFolder(_group.getGroupId(), RandomTestUtil.randomString());

    String content = "Liferay Architectural Approach";

    JournalArticle article = JournalTestUtil.addArticleWithWorkflow(_group.getGroupId(), folder.getFolderId(),
            "title", content, true);

    assertSearchCount(1, _group.getGroupId(), false, WorkflowConstants.STATUS_ANY, searchContext);

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

    serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);

    article = JournalTestUtil.updateArticle(article, article.getTitleMap(), article.getContent(), false, true,
            serviceContext);// w w  w .  j  av  a 2 s  . co m

    assertSearchCount(2, _group.getGroupId(), false, WorkflowConstants.STATUS_ANY, searchContext);

    serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT);

    JournalTestUtil.updateArticle(article, article.getTitleMap(), article.getContent(), false, true,
            serviceContext);

    assertSearchCount(3, _group.getGroupId(), false, WorkflowConstants.STATUS_ANY, searchContext);
}

From source file:com.liferay.journal.search.test.JournalIndexerTest.java

License:Open Source License

@Test
public void testUpdateArticleTranslation() throws Exception {
    ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(_group.getGroupId());

    SearchContext searchContext1 = SearchContextTestUtil.getSearchContext(_group.getGroupId());

    searchContext1.setKeywords("Arquitectura");
    searchContext1.setLocale(LocaleUtil.SPAIN);

    assertSearchCount(0, _group.getGroupId(), searchContext1);

    SearchContext searchContext2 = SearchContextTestUtil.getSearchContext(_group.getGroupId());

    searchContext2.setKeywords("Apple");
    searchContext2.setLocale(LocaleUtil.SPAIN);

    assertSearchCount(0, _group.getGroupId(), searchContext2);

    Map<Locale, String> titleMap = new HashMap<>();

    titleMap.put(LocaleUtil.GERMANY, "Titel");
    titleMap.put(LocaleUtil.SPAIN, "Titulo");
    titleMap.put(LocaleUtil.US, "Title");

    Map<Locale, String> contentMap = new HashMap<>();

    contentMap.put(LocaleUtil.GERMANY, "Liferay Architektur Ansatz");
    contentMap.put(LocaleUtil.SPAIN, "Liferay Arquitectura Aproximacion");
    contentMap.put(LocaleUtil.US, "Liferay Architectural Approach");

    JournalArticle article = JournalTestUtil.addArticleWithWorkflow(_group.getGroupId(), titleMap, titleMap,
            contentMap, true);//from www . j  a va  2  s.  c o  m

    assertSearchCount(1, _group.getGroupId(), searchContext1);

    contentMap.put(LocaleUtil.SPAIN, "Apple manzana tablet");

    String defaultLanguageId = LanguageUtil.getLanguageId(LocaleUtil.getDefault());

    String content = DDMStructureTestUtil.getSampleStructuredContent(contentMap, defaultLanguageId);

    article = JournalArticleLocalServiceUtil.updateArticleTranslation(_group.getGroupId(),
            article.getArticleId(), article.getVersion(), LocaleUtil.SPAIN, article.getTitle(LocaleUtil.SPAIN),
            article.getDescription(LocaleUtil.SPAIN), content, null, serviceContext);

    assertSearchCount(0, _group.getGroupId(), searchContext2);

    User user = UserTestUtil.addUser(_group.getGroupId(), LocaleUtil.SPAIN);

    serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);

    JournalArticleLocalServiceUtil.updateArticle(user.getUserId(), article.getGroupId(), article.getFolderId(),
            article.getArticleId(), article.getVersion(), article.getContent(), serviceContext);

    assertSearchCount(1, _group.getGroupId(), searchContext2);
}