List of usage examples for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_ANY
int STATUS_ANY
To view the source code for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_ANY.
Click Source Link
From source file:com.liferay.knowledgebase.service.impl.KBArticleLocalServiceImpl.java
License:Open Source License
@Override public List<KBArticle> getSectionsKBArticles(long groupId, String[] sections, int status, int start, int end, OrderByComparator<KBArticle> orderByComparator) { String[] array = AdminUtil.escapeSections(sections); for (int i = 0; i < array.length; i++) { array[i] = StringUtil.quote(array[i], StringPool.PERCENT); }//from w w w . ja va2s . com if (status == WorkflowConstants.STATUS_ANY) { return kbArticlePersistence.findByG_P_S_L(groupId, KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, array, true, start, end, orderByComparator); } else if (status == WorkflowConstants.STATUS_APPROVED) { return kbArticlePersistence.findByG_P_S_M(groupId, KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, array, true, start, end, orderByComparator); } return kbArticlePersistence.findByG_P_S_S(groupId, KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, array, status, start, end, orderByComparator); }
From source file:com.liferay.knowledgebase.service.impl.KBArticleLocalServiceImpl.java
License:Open Source License
@Override public int getSectionsKBArticlesCount(long groupId, String[] sections, int status) { String[] array = AdminUtil.escapeSections(sections); for (int i = 0; i < array.length; i++) { array[i] = StringUtil.quote(array[i], StringPool.PERCENT); }/*w w w .jav a 2 s .c om*/ if (status == WorkflowConstants.STATUS_ANY) { return kbArticlePersistence.countByG_P_S_L(groupId, KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, array, true); } else if (status == WorkflowConstants.STATUS_APPROVED) { return kbArticlePersistence.countByG_P_S_M(groupId, KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, array, true); } return kbArticlePersistence.countByG_P_S_S(groupId, KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, array, status); }
From source file:com.liferay.knowledgebase.service.impl.KBArticleLocalServiceImpl.java
License:Open Source License
@Override public void moveKBArticle(long userId, long resourcePrimKey, long parentResourceClassNameId, long parentResourcePrimKey, double priority) throws PortalException { // KB article validate(priority);/*from w w w . j a va2 s .com*/ updatePermissionFields(resourcePrimKey, parentResourceClassNameId, parentResourcePrimKey); long kbFolderClassNameId = classNameLocalService.getClassNameId(KBFolderConstants.getClassName()); long kbFolderId = KBFolderConstants.DEFAULT_PARENT_FOLDER_ID; if (parentResourceClassNameId == kbFolderClassNameId) { kbFolderId = parentResourcePrimKey; } else { KBArticle latestKBArticle = getLatestKBArticle(parentResourcePrimKey, WorkflowConstants.STATUS_ANY); kbFolderId = latestKBArticle.getKbFolderId(); } List<KBArticle> kbArticles = getKBArticleVersions(resourcePrimKey, WorkflowConstants.STATUS_ANY, QueryUtil.ALL_POS, QueryUtil.ALL_POS, new KBArticleVersionComparator()); for (KBArticle curKBArticle : kbArticles) { curKBArticle.setParentResourceClassNameId(parentResourceClassNameId); curKBArticle.setParentResourcePrimKey(parentResourcePrimKey); if (parentResourceClassNameId == kbFolderClassNameId) { curKBArticle.setKbFolderId(kbFolderId); } curKBArticle.setPriority(priority); kbArticlePersistence.update(curKBArticle); } KBArticle kbArticle = getLatestKBArticle(resourcePrimKey, WorkflowConstants.STATUS_ANY); if (kbArticle.getKbFolderId() != kbFolderId) { List<KBArticle> descendantKBArticles = getAllDescendantKBArticles(resourcePrimKey, WorkflowConstants.STATUS_ANY, null); for (KBArticle curKBArticle : descendantKBArticles) { List<KBArticle> kbArticleVersions = getKBArticleVersions(curKBArticle.getResourcePrimKey(), WorkflowConstants.STATUS_ANY, QueryUtil.ALL_POS, QueryUtil.ALL_POS, new KBArticleVersionComparator()); for (KBArticle kbArticleVersion : kbArticleVersions) { kbArticleVersion.setKbFolderId(kbFolderId); kbArticlePersistence.update(kbArticleVersion); } } } // Social KBArticle latestKBArticle = getLatestKBArticle(resourcePrimKey, WorkflowConstants.STATUS_ANY); JSONObject extraDataJSONObject = JSONFactoryUtil.createJSONObject(); extraDataJSONObject.put("title", latestKBArticle.getTitle()); if (latestKBArticle.isApproved() || !latestKBArticle.isFirstVersion()) { socialActivityLocalService.addActivity(userId, latestKBArticle.getGroupId(), KBArticle.class.getName(), resourcePrimKey, AdminActivityKeys.MOVE_KB_ARTICLE, extraDataJSONObject.toString(), 0); } }
From source file:com.liferay.knowledgebase.service.impl.KBArticleLocalServiceImpl.java
License:Open Source License
@Override public KBArticle updateKBArticle(long userId, long resourcePrimKey, String title, String content, String description, String sourceURL, String[] sections, String[] selectedFileNames, long[] removeFileEntryIds, ServiceContext serviceContext) throws PortalException { // KB article User user = userPersistence.findByPrimaryKey(userId); validate(title, content, sourceURL); KBArticle oldKBArticle = getLatestKBArticle(resourcePrimKey, WorkflowConstants.STATUS_ANY); int oldVersion = oldKBArticle.getVersion(); KBArticle kbArticle = null;/*from w w w.j a va2s . c o m*/ if (oldKBArticle.isApproved()) { long kbArticleId = counterLocalService.increment(); kbArticle = kbArticlePersistence.create(kbArticleId); kbArticle.setUuid(serviceContext.getUuid()); kbArticle.setResourcePrimKey(oldKBArticle.getResourcePrimKey()); kbArticle.setGroupId(oldKBArticle.getGroupId()); kbArticle.setCompanyId(user.getCompanyId()); kbArticle.setUserId(user.getUserId()); kbArticle.setUserName(user.getFullName()); kbArticle.setCreateDate(oldKBArticle.getCreateDate()); kbArticle.setRootResourcePrimKey(oldKBArticle.getRootResourcePrimKey()); kbArticle.setParentResourceClassNameId(oldKBArticle.getParentResourceClassNameId()); kbArticle.setParentResourcePrimKey(oldKBArticle.getParentResourcePrimKey()); kbArticle.setKbFolderId(oldKBArticle.getKbFolderId()); kbArticle.setVersion(oldVersion + 1); kbArticle.setUrlTitle(oldKBArticle.getUrlTitle()); kbArticle.setPriority(oldKBArticle.getPriority()); kbArticle.setViewCount(oldKBArticle.getViewCount()); } else { kbArticle = oldKBArticle; } if (oldKBArticle.isPending()) { kbArticle.setStatus(WorkflowConstants.STATUS_PENDING); } else { kbArticle.setStatus(WorkflowConstants.STATUS_DRAFT); } kbArticle.setModifiedDate(serviceContext.getModifiedDate(null)); kbArticle.setTitle(title); kbArticle.setContent(content); kbArticle.setDescription(description); kbArticle.setSourceURL(sourceURL); kbArticle.setSections(StringUtil.merge(AdminUtil.escapeSections(sections))); kbArticle.setLatest(true); kbArticle.setMain(false); kbArticlePersistence.update(kbArticle); if (oldKBArticle.isApproved()) { oldKBArticle.setLatest(false); kbArticlePersistence.update(oldKBArticle); } // Resources if ((serviceContext.getGroupPermissions() != null) || (serviceContext.getGuestPermissions() != null)) { updateKBArticleResources(kbArticle, serviceContext.getGroupPermissions(), serviceContext.getGuestPermissions()); } // Asset updateKBArticleAsset(userId, kbArticle, serviceContext.getAssetCategoryIds(), serviceContext.getAssetTagNames(), serviceContext.getAssetLinkEntryIds()); // Attachments addKBArticleAttachments(userId, kbArticle, selectedFileNames); removeKBArticleAttachments(removeFileEntryIds); // Workflow WorkflowHandlerRegistryUtil.startWorkflowInstance(user.getCompanyId(), kbArticle.getGroupId(), userId, KBArticle.class.getName(), resourcePrimKey, kbArticle, serviceContext); return kbArticle; }
From source file:com.liferay.knowledgebase.service.impl.KBArticleLocalServiceImpl.java
License:Open Source License
@Override public void updateKBArticlesPriorities(Map<Long, Double> resourcePrimKeyToPriorityMap) throws PortalException { for (double priority : resourcePrimKeyToPriorityMap.values()) { validate(priority);//from w w w . j a v a 2s. com } long[] resourcePrimKeys = StringUtil.split(StringUtil.merge(resourcePrimKeyToPriorityMap.keySet()), 0L); List<KBArticle> kbArticles = getKBArticles(resourcePrimKeys, WorkflowConstants.STATUS_ANY, null); for (KBArticle kbArticle : kbArticles) { double priority = resourcePrimKeyToPriorityMap.get(kbArticle.getResourcePrimKey()); updatePriority(kbArticle.getResourcePrimKey(), priority); } }
From source file:com.liferay.knowledgebase.service.impl.KBArticleLocalServiceImpl.java
License:Open Source License
@Override public void updatePriority(long resourcePrimKey, double priority) { List<KBArticle> kbArticleVersions = getKBArticleVersions(resourcePrimKey, WorkflowConstants.STATUS_ANY, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); for (KBArticle kbArticle : kbArticleVersions) { kbArticle.setPriority(priority); kbArticlePersistence.update(kbArticle); }// ww w.j a v a2 s . c o m }
From source file:com.liferay.knowledgebase.service.impl.KBArticleLocalServiceImpl.java
License:Open Source License
@Override public KBArticle updateStatus(long userId, long resourcePrimKey, int status, ServiceContext serviceContext) throws PortalException { // KB article User user = userPersistence.findByPrimaryKey(userId); boolean main = false; Date now = new Date(); if (status == WorkflowConstants.STATUS_APPROVED) { main = true;//from w w w . j ava2 s. c om } KBArticle kbArticle = getLatestKBArticle(resourcePrimKey, WorkflowConstants.STATUS_ANY); kbArticle.setModifiedDate(serviceContext.getModifiedDate(now)); kbArticle.setMain(main); kbArticle.setStatus(status); kbArticle.setStatusByUserId(user.getUserId()); kbArticle.setStatusByUserName(user.getFullName()); kbArticle.setStatusDate(serviceContext.getModifiedDate(now)); kbArticlePersistence.update(kbArticle); if (status != WorkflowConstants.STATUS_APPROVED) { return kbArticle; } if (!kbArticle.isFirstVersion()) { KBArticle oldKBArticle = kbArticlePersistence.findByR_V(resourcePrimKey, kbArticle.getVersion() - 1); oldKBArticle.setMain(false); kbArticlePersistence.update(oldKBArticle); } // Asset AssetEntry assetEntry = assetEntryLocalService.getEntry(KBArticle.class.getName(), kbArticle.getKbArticleId()); List<AssetLink> assetLinks = assetLinkLocalService.getDirectLinks(assetEntry.getEntryId(), AssetLinkConstants.TYPE_RELATED); long[] assetLinkEntryIds = StringUtil.split(ListUtil.toString(assetLinks, AssetLink.ENTRY_ID2_ACCESSOR), 0L); updateKBArticleAsset(userId, kbArticle, assetEntry.getCategoryIds(), assetEntry.getTagNames(), assetLinkEntryIds); SystemEventHierarchyEntryThreadLocal.push(KBArticle.class); try { assetEntryLocalService.deleteEntry(KBArticle.class.getName(), kbArticle.getKbArticleId()); } finally { SystemEventHierarchyEntryThreadLocal.pop(KBArticle.class); } assetEntryLocalService.updateVisible(KBArticle.class.getName(), kbArticle.getResourcePrimKey(), true); // Social JSONObject extraDataJSONObject = JSONFactoryUtil.createJSONObject(); extraDataJSONObject.put("title", kbArticle.getTitle()); if (!kbArticle.isFirstVersion()) { socialActivityLocalService.addActivity(userId, kbArticle.getGroupId(), KBArticle.class.getName(), resourcePrimKey, AdminActivityKeys.UPDATE_KB_ARTICLE, extraDataJSONObject.toString(), 0); } else { socialActivityLocalService.addActivity(userId, kbArticle.getGroupId(), KBArticle.class.getName(), resourcePrimKey, AdminActivityKeys.ADD_KB_ARTICLE, extraDataJSONObject.toString(), 0); } // Indexer Indexer indexer = IndexerRegistryUtil.getIndexer(KBArticle.class); indexer.reindex(kbArticle); // Subscriptions notifySubscribers(kbArticle, serviceContext); return kbArticle; }
From source file:com.liferay.knowledgebase.service.impl.KBArticleLocalServiceImpl.java
License:Open Source License
@Override public void updateViewCount(long userId, long resourcePrimKey, int viewCount) throws PortalException { KBArticle kbArticle = getLatestKBArticle(resourcePrimKey, WorkflowConstants.STATUS_ANY); kbArticle.setViewCount(viewCount);/*from www. j a va 2 s . com*/ kbArticlePersistence.update(kbArticle); if (kbArticle.isApproved() || kbArticle.isFirstVersion()) { return; } kbArticle = getLatestKBArticle(resourcePrimKey, WorkflowConstants.STATUS_APPROVED); kbArticle.setViewCount(viewCount); kbArticlePersistence.update(kbArticle); }
From source file:com.liferay.knowledgebase.service.impl.KBArticleLocalServiceImpl.java
License:Open Source License
protected void addAttachment(long userId, long resourcePrimKey, String fileName, InputStream inputStream, String mimeType) throws PortalException { KBArticle kbArticle = KBArticleLocalServiceUtil.getLatestKBArticle(resourcePrimKey, WorkflowConstants.STATUS_ANY); PortletFileRepositoryUtil.addPortletFileEntry(kbArticle.getGroupId(), userId, KBArticle.class.getName(), kbArticle.getClassPK(), PortletKeys.KNOWLEDGE_BASE_ARTICLE, kbArticle.getAttachmentsFolderId(), inputStream, fileName, mimeType, false); }
From source file:com.liferay.knowledgebase.service.impl.KBArticleLocalServiceImpl.java
License:Open Source License
protected DynamicQuery buildDynamicQuery(long groupId, String title, String content, int status, Date startDate, Date endDate, boolean andOperator) { Junction junction = null;//from w w w. j a va 2 s .co m if (andOperator) { junction = RestrictionsFactoryUtil.conjunction(); } else { junction = RestrictionsFactoryUtil.disjunction(); } Map<String, String> terms = new HashMap<String, String>(); if (Validator.isNotNull(title)) { terms.put("title", title); } if (Validator.isNotNull(content)) { terms.put("content", content); } for (Map.Entry<String, String> entry : terms.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); Disjunction disjunction = RestrictionsFactoryUtil.disjunction(); for (String keyword : KnowledgeBaseUtil.splitKeywords(value)) { Criterion criterion = RestrictionsFactoryUtil.ilike(key, StringUtil.quote(keyword, StringPool.PERCENT)); disjunction.add(criterion); } junction.add(disjunction); } if (status != WorkflowConstants.STATUS_ANY) { Property property = PropertyFactoryUtil.forName("status"); junction.add(property.eq(status)); } if ((endDate != null) && (startDate != null)) { Disjunction disjunction = RestrictionsFactoryUtil.disjunction(); String[] propertyNames = { "createDate", "modifiedDate" }; for (String propertyName : propertyNames) { Property property = PropertyFactoryUtil.forName(propertyName); Conjunction conjunction = RestrictionsFactoryUtil.conjunction(); conjunction.add(property.gt(startDate)); conjunction.add(property.lt(endDate)); disjunction.add(conjunction); } junction.add(disjunction); } DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(KBArticle.class, getClassLoader()); if (status == WorkflowConstants.STATUS_ANY) { Property property = PropertyFactoryUtil.forName("latest"); dynamicQuery.add(property.eq(Boolean.TRUE)); } else if (status == WorkflowConstants.STATUS_APPROVED) { Property property = PropertyFactoryUtil.forName("main"); dynamicQuery.add(property.eq(Boolean.TRUE)); } if (groupId > 0) { Property property = PropertyFactoryUtil.forName("groupId"); dynamicQuery.add(property.eq(groupId)); } return dynamicQuery.add(junction); }