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

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

Introduction

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

Prototype

int STATUS_APPROVED

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

Click Source Link

Usage

From source file:com.liferay.knowledgebase.admin.asset.KBArticleAssetRendererFactory.java

License:Open Source License

@Override
public AssetRenderer getAssetRenderer(long classPK, int type) throws PortalException {

    KBArticle kbArticle = null;//from w  w  w.j av a  2  s .  c o m

    if (type == TYPE_LATEST_APPROVED) {
        kbArticle = KBArticleLocalServiceUtil.getLatestKBArticle(classPK, WorkflowConstants.STATUS_APPROVED);
    } else {
        try {
            kbArticle = KBArticleLocalServiceUtil.getKBArticle(classPK);
        } catch (NoSuchArticleException nsae) {
            kbArticle = KBArticleLocalServiceUtil.getLatestKBArticle(classPK, WorkflowConstants.STATUS_ANY);
        }
    }

    KBArticleAssetRenderer kbArticleAssetRenderer = new KBArticleAssetRenderer(kbArticle);

    kbArticleAssetRenderer.setAssetRendererType(type);

    return kbArticleAssetRenderer;
}

From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java

License:Open Source License

protected void exportKBArticleVersions(PortletDataContext portletDataContext, Element kbArticleElement,
        long resourcePrimKey) throws Exception {

    Element versionsElement = kbArticleElement.addElement("versions");

    String rootPath = getPortletPath(portletDataContext) + "/kbarticles/versions/" + resourcePrimKey;

    List<KBArticle> kbArticles = KBArticleUtil.findByR_S(resourcePrimKey, WorkflowConstants.STATUS_APPROVED,
            QueryUtil.ALL_POS, QueryUtil.ALL_POS, new KBArticleModifiedDateComparator(true));

    for (KBArticle kbArticle : kbArticles) {
        String path = rootPath + StringPool.SLASH + kbArticle.getKbArticleId() + ".xml";

        Element curKBArticleElement = versionsElement.addElement("kb-article");

        curKBArticleElement.addAttribute("path", path);

        portletDataContext.addZipEntry(path, kbArticle);
    }//from ww  w .j  a va2 s .co  m
}

From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java

License:Open Source License

protected void importKBArticle(PortletDataContext portletDataContext, Map<String, String> dirNames,
        Element kbArticleElement, KBArticle kbArticle) throws Exception {

    Map<Long, Long> kbArticlePKs = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(KBArticle.class);

    long userId = portletDataContext.getUserId(kbArticle.getUserUuid());
    long parentResourcePrimKey = MapUtil.getLong(kbArticlePKs, kbArticle.getParentResourcePrimKey());
    String[] sections = AdminUtil.unescapeSections(kbArticle.getSections());
    String dirName = MapUtil.getString(dirNames, String.valueOf(kbArticle.getResourcePrimKey()));

    ServiceContext serviceContext = portletDataContext.createServiceContext(kbArticleElement, kbArticle,
            _NAMESPACE);//from  w  w w. j  a  v a 2s  .  co  m

    KBArticle importedKBArticle = null;

    if (portletDataContext.isDataStrategyMirror()) {
        KBArticle existingKBArticle = KBArticleUtil.fetchByUUID_G(kbArticle.getUuid(),
                portletDataContext.getScopeGroupId());

        if (existingKBArticle == null) {
            importedKBArticle = importKBArticleVersions(portletDataContext, kbArticle.getUuid(),
                    parentResourcePrimKey, dirName, kbArticleElement);
        } else {
            KBArticleLocalServiceUtil.updateKBArticle(userId, existingKBArticle.getResourcePrimKey(),
                    kbArticle.getTitle(), kbArticle.getContent(), kbArticle.getDescription(), sections, dirName,
                    serviceContext);

            KBArticleLocalServiceUtil.moveKBArticle(userId, existingKBArticle.getResourcePrimKey(),
                    parentResourcePrimKey, kbArticle.getPriority());

            importedKBArticle = KBArticleLocalServiceUtil.getLatestKBArticle(
                    existingKBArticle.getResourcePrimKey(), WorkflowConstants.STATUS_APPROVED);
        }
    } else {
        importedKBArticle = importKBArticleVersions(portletDataContext, null, parentResourcePrimKey, dirName,
                kbArticleElement);
    }

    portletDataContext.importClassedModel(kbArticle, importedKBArticle, _NAMESPACE);
}

From source file:com.liferay.knowledgebase.admin.lar.KBArticleStagedModelDataHandler.java

License:Open Source License

@Override
protected void doExportStagedModel(PortletDataContext portletDataContext, KBArticle kbArticle)
        throws Exception {

    if (kbArticle.getParentResourcePrimKey() != KBFolderConstants.DEFAULT_PARENT_FOLDER_ID) {

        long kbArticleClassNameId = PortalUtil.getClassNameId(KBArticleConstants.getClassName());

        if (kbArticle.getParentResourceClassNameId() == kbArticleClassNameId) {

            KBArticle parentKBArticle = KBArticleLocalServiceUtil.getLatestKBArticle(
                    kbArticle.getParentResourcePrimKey(), WorkflowConstants.STATUS_APPROVED);

            StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, kbArticle,
                    parentKBArticle, PortletDataContext.REFERENCE_TYPE_PARENT);
        } else {//from  w w  w  .j  a v  a2s. c o m
            KBFolder parentKBFolder = KBFolderLocalServiceUtil
                    .getKBFolder(kbArticle.getParentResourcePrimKey());

            StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, kbArticle, parentKBFolder,
                    PortletDataContext.REFERENCE_TYPE_PARENT);
        }
    }

    Element kbArticleElement = portletDataContext.getExportDataElement(kbArticle);

    exportKBArticleAttachments(portletDataContext, kbArticleElement, kbArticle);

    portletDataContext.addClassedModel(kbArticleElement, ExportImportPathUtil.getModelPath(kbArticle),
            kbArticle);
}

From source file:com.liferay.knowledgebase.admin.lar.KBArticleStagedModelDataHandler.java

License:Open Source License

@Override
protected void doImportStagedModel(PortletDataContext portletDataContext, KBArticle kbArticle)
        throws Exception {

    long userId = portletDataContext.getUserId(kbArticle.getUserUuid());

    if (kbArticle.getParentResourcePrimKey() != KBFolderConstants.DEFAULT_PARENT_FOLDER_ID) {

        if (kbArticle.getClassNameId() == kbArticle.getParentResourceClassNameId()) {

            StagedModelDataHandlerUtil.importReferenceStagedModels(portletDataContext, kbArticle,
                    KBArticle.class);
        } else {//from   ww  w.ja v  a  2 s  .  c  o m
            StagedModelDataHandlerUtil.importReferenceStagedModels(portletDataContext, kbArticle,
                    KBFolder.class);
        }
    }

    Map<Long, Long> kbArticleResourcePrimKeys = (Map<Long, Long>) portletDataContext
            .getNewPrimaryKeysMap(KBArticle.class);

    long parentResourcePrimKey = MapUtil.getLong(kbArticleResourcePrimKeys,
            kbArticle.getParentResourcePrimKey(), KBFolderConstants.DEFAULT_PARENT_FOLDER_ID);

    long resourcePrimaryKey = MapUtil.getLong(kbArticleResourcePrimKeys, kbArticle.getResourcePrimKey(), 0);

    if (parentResourcePrimKey == KBFolderConstants.DEFAULT_PARENT_FOLDER_ID) {

        Map<Long, Long> kbFolderResourcePrimKeys = (Map<Long, Long>) portletDataContext
                .getNewPrimaryKeysMap(KBFolder.class);

        parentResourcePrimKey = MapUtil.getLong(kbFolderResourcePrimKeys, kbArticle.getParentResourcePrimKey(),
                KBFolderConstants.DEFAULT_PARENT_FOLDER_ID);
    }

    String[] sections = AdminUtil.unescapeSections(kbArticle.getSections());

    ServiceContext serviceContext = portletDataContext.createServiceContext(kbArticle);

    KBArticle importedKBArticle = null;

    if (portletDataContext.isDataStrategyMirror()) {
        KBArticle existingKBArticle = KBArticleUtil.fetchByR_V(resourcePrimaryKey, kbArticle.getVersion());

        if (existingKBArticle == null) {
            existingKBArticle = fetchStagedModelByUuidAndGroupId(kbArticle.getUuid(),
                    portletDataContext.getScopeGroupId());
        }

        if (existingKBArticle == null) {
            serviceContext.setUuid(kbArticle.getUuid());

            existingKBArticle = KBArticleLocalServiceUtil.fetchLatestKBArticle(resourcePrimaryKey,
                    WorkflowConstants.STATUS_ANY);

            if (existingKBArticle == null) {
                importedKBArticle = KBArticleLocalServiceUtil.addKBArticle(userId,
                        kbArticle.getParentResourceClassNameId(), parentResourcePrimKey, kbArticle.getTitle(),
                        kbArticle.getUrlTitle(), kbArticle.getContent(), kbArticle.getDescription(),
                        kbArticle.getSourceURL(), sections, null, serviceContext);

                KBArticleLocalServiceUtil.updatePriority(importedKBArticle.getResourcePrimKey(),
                        kbArticle.getPriority());
            } else {
                KBArticleLocalServiceUtil.updateKBArticle(userId, existingKBArticle.getResourcePrimKey(),
                        kbArticle.getTitle(), kbArticle.getContent(), kbArticle.getDescription(),
                        kbArticle.getSourceURL(), sections, null, null, serviceContext);

                KBArticleLocalServiceUtil.moveKBArticle(userId, existingKBArticle.getResourcePrimKey(),
                        existingKBArticle.getParentResourceClassNameId(), parentResourcePrimKey,
                        kbArticle.getPriority());

                importedKBArticle = KBArticleLocalServiceUtil.getLatestKBArticle(
                        existingKBArticle.getResourcePrimKey(), WorkflowConstants.STATUS_APPROVED);
            }
        } else {
            importedKBArticle = existingKBArticle;
        }
    } else {
        importedKBArticle = KBArticleLocalServiceUtil.addKBArticle(userId,
                kbArticle.getParentResourceClassNameId(), parentResourcePrimKey, kbArticle.getTitle(),
                kbArticle.getUrlTitle(), kbArticle.getContent(), kbArticle.getDescription(),
                kbArticle.getSourceURL(), sections, null, serviceContext);

        KBArticleLocalServiceUtil.updatePriority(importedKBArticle.getResourcePrimKey(),
                kbArticle.getPriority());
    }

    importKBArticleAttachments(portletDataContext, kbArticle, importedKBArticle);

    portletDataContext.importClassedModel(kbArticle, importedKBArticle);

    if (!kbArticle.isMain()) {
        kbArticleResourcePrimKeys.put(kbArticle.getResourcePrimKey(), importedKBArticle.getResourcePrimKey());
    }
}

From source file:com.liferay.knowledgebase.admin.social.AdminActivityInterpreter.java

License:Open Source License

@Override
protected String getEntryTitle(SocialActivity activity, ServiceContext serviceContext) throws Exception {

    String title = StringPool.BLANK;

    String className = activity.getClassName();

    if (className.equals(KBArticle.class.getName())) {
        KBArticle kbArticle = KBArticleLocalServiceUtil.getLatestKBArticle(activity.getClassPK(),
                WorkflowConstants.STATUS_APPROVED);

        title = kbArticle.getTitle();/*  w  ww  .j  a va2  s . c  o  m*/
    } else if (className.equals(KBComment.class.getName())) {
        KBComment kbComment = KBCommentLocalServiceUtil.getKBComment(activity.getClassPK());

        String kbCommentClassName = kbComment.getClassName();

        if (kbCommentClassName.equals(KBArticle.class.getName())) {
            KBArticle kbArticle = KBArticleLocalServiceUtil.getLatestKBArticle(kbComment.getClassPK(),
                    WorkflowConstants.STATUS_APPROVED);

            title = kbArticle.getTitle();
        } else if (kbCommentClassName.equals(KBTemplate.class.getName())) {
            KBTemplate kbTemplate = KBTemplateLocalServiceUtil.getKBTemplate(kbComment.getClassPK());

            title = kbTemplate.getTitle();
        }
    } else if (className.equals(KBTemplate.class.getName())) {
        KBTemplate kbTemplate = KBTemplateLocalServiceUtil.getKBTemplate(activity.getClassPK());

        title = kbTemplate.getTitle();
    }

    return getJSONValue(activity.getExtraData(), "title", title);
}

From source file:com.liferay.knowledgebase.admin.social.AdminActivityInterpreter.java

License:Open Source License

@Override
protected String getLink(SocialActivity activity, ServiceContext serviceContext) throws Exception {

    String className = activity.getClassName();

    if (className.equals(KBArticle.class.getName())) {
        KBArticle kbArticle = KBArticleLocalServiceUtil.getLatestKBArticle(activity.getClassPK(),
                WorkflowConstants.STATUS_APPROVED);

        return KnowledgeBaseUtil.getKBArticleURL(serviceContext.getPlid(), kbArticle.getResourcePrimKey(),
                kbArticle.getStatus(), serviceContext.getPortalURL(), false);
    } else if (className.equals(KBComment.class.getName())) {
        KBComment kbComment = KBCommentLocalServiceUtil.getKBComment(activity.getClassPK());

        String kbCommentClassName = kbComment.getClassName();

        if (kbCommentClassName.equals(KBArticle.class.getName())) {
            KBArticle kbArticle = KBArticleLocalServiceUtil.getLatestKBArticle(activity.getClassPK(),
                    WorkflowConstants.STATUS_APPROVED);

            return KnowledgeBaseUtil.getKBArticleURL(serviceContext.getPlid(), kbArticle.getResourcePrimKey(),
                    kbArticle.getStatus(), serviceContext.getPortalURL(), false);
        }//from   ww  w.ja  v  a  2  s .c  om
    }

    return StringPool.BLANK;
}

From source file:com.liferay.knowledgebase.admin.social.AdminActivityInterpreter.java

License:Open Source License

@Override
protected boolean hasPermissions(PermissionChecker permissionChecker, SocialActivity activity, String actionId,
        ServiceContext serviceContext) throws Exception {

    String className = activity.getClassName();

    if (className.equals(KBArticle.class.getName())) {
        KBArticle kbArticle = KBArticleLocalServiceUtil.getLatestKBArticle(activity.getClassPK(),
                WorkflowConstants.STATUS_APPROVED);

        return KBArticlePermission.contains(permissionChecker, kbArticle, ActionKeys.VIEW);
    } else if (className.equals(KBComment.class.getName())) {
        return true;
    } else if (className.equals(KBTemplate.class.getName())) {
        KBTemplate kbTemplate = KBTemplateLocalServiceUtil.getKBTemplate(activity.getClassPK());

        return KBTemplatePermission.contains(permissionChecker, kbTemplate, ActionKeys.VIEW);
    }//from w w  w  .  j  ava2 s.c  o m

    return false;
}

From source file:com.liferay.knowledgebase.admin.util.AdminIndexer.java

License:Open Source License

protected void reindexKBArticles(KBArticle kbArticle) throws Exception {

    // See KBArticlePermission#contains

    List<KBArticle> kbArticles = KBArticleLocalServiceUtil.getKBArticleAndAllDescendantKBArticles(
            kbArticle.getResourcePrimKey(), WorkflowConstants.STATUS_APPROVED, null);

    Collection<Document> documents = new ArrayList<Document>();

    for (KBArticle curKBArticle : kbArticles) {
        documents.add(getDocument(curKBArticle));
    }/*from   w w w  .jav  a 2 s.com*/

    SearchEngineUtil.updateDocuments(getSearchEngineId(), kbArticle.getCompanyId(), documents,
            isCommitImmediately());
}

From source file:com.liferay.knowledgebase.admin.util.AdminIndexer.java

License:Open Source License

protected void reindexKBArticles(long companyId) throws Exception {
    final ActionableDynamicQuery actionableDynamicQuery = KBArticleLocalServiceUtil.getActionableDynamicQuery();

    actionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {

        @Override/*from w w w . j  a v a  2  s.c  o  m*/
        public void addCriteria(DynamicQuery dynamicQuery) {
            Property property = PropertyFactoryUtil.forName("status");

            dynamicQuery.add(property.eq(WorkflowConstants.STATUS_APPROVED));
        }

    });
    actionableDynamicQuery.setCompanyId(companyId);
    actionableDynamicQuery.setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod() {

        @Override
        public void performAction(Object object) throws PortalException {

            KBArticle kbArticle = (KBArticle) object;

            Document document = getDocument(kbArticle);

            actionableDynamicQuery.addDocument(document);
        }

    });
    actionableDynamicQuery.setSearchEngineId(getSearchEngineId());

    actionableDynamicQuery.performActions();
}