protected void reindexRoot(final long companyId) throws PortalException { ActionableDynamicQuery actionableDynamicQuery = GroupLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setCompanyId(companyId); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) throws PortalException { Group group = (Group) object; String portletId = PortletKeys.DOCUMENT_LIBRARY; long groupId = group.getGroupId(); long folderId = groupId; String[] newIds = { String.valueOf(companyId), portletId, String.valueOf(groupId), String.valueOf(folderId) }; reindex(newIds); } }); actionableDynamicQuery.performActions(); }
@Override public void trashSyncDLObjects(final SyncDLObject parentSyncDLObject) throws PortalException { ActionableDynamicQuery actionableDynamicQuery = getActionableDynamicQuery(); actionableDynamicQuery.setAddCriteriaMethod( new ActionableDynamicQuery.AddCriteriaMethod() { @Override public void addCriteria(DynamicQuery dynamicQuery) { dynamicQuery.add( RestrictionsFactoryUtil.ne("event", SyncDLObjectConstants.EVENT_TRASH)); String treePath = parentSyncDLObject.getTreePath(); dynamicQuery.add( RestrictionsFactoryUtil.like("treePath", treePath + StringPool.PERCENT)); } }); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod<SyncDLObject>() { @Override public void performAction(SyncDLObject syncDLObject) throws PortalException { syncDLObject.setUserId(parentSyncDLObject.getUserId()); syncDLObject.setUserName(parentSyncDLObject.getUserName()); syncDLObject.setEvent(SyncDLObjectConstants.EVENT_TRASH); syncDLObjectPersistence.update(syncDLObject); } }); actionableDynamicQuery.performActions(); }
protected void reindexKBArticles(long companyId) throws Exception { final ActionableDynamicQuery actionableDynamicQuery = KBArticleLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setAddCriteriaMethod( new ActionableDynamicQuery.AddCriteriaMethod() { @Override 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(); }
protected void reindexCalendars(long companyId) throws PortalException { final ActionableDynamicQuery actionableDynamicQuery = _calendarLocalService.getActionableDynamicQuery(); actionableDynamicQuery.setCompanyId(companyId); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod<Calendar>() { @Override public void performAction(Calendar calendar) { try { Document document = getDocument(calendar); actionableDynamicQuery.addDocument(document); } catch (PortalException pe) { if (_log.isWarnEnabled()) { _log.warn("Unable to index calendar " + calendar.getCalendarId(), pe); } } } }); actionableDynamicQuery.setSearchEngineId(getSearchEngineId()); actionableDynamicQuery.performActions(); }
@Override public void reindexDDMStructures(List<Long> ddmStructureIds) throws SearchException { if (SearchEngineUtil.isIndexReadOnly() || !isIndexerEnabled()) { return; } try { final String[] ddmStructureKeys = new String[ddmStructureIds.size()]; for (int i = 0; i < ddmStructureIds.size(); i++) { long ddmStructureId = ddmStructureIds.get(i); DDMStructure ddmStructure = _ddmStructureLocalService.getDDMStructure(ddmStructureId); ddmStructureKeys[i] = ddmStructure.getStructureKey(); } ActionableDynamicQuery actionableDynamicQuery = _journalArticleLocalService.getActionableDynamicQuery(); actionableDynamicQuery.setAddCriteriaMethod( new ActionableDynamicQuery.AddCriteriaMethod() { @Override public void addCriteria(DynamicQuery dynamicQuery) { Property ddmStructureKey = PropertyFactoryUtil.forName("DDMStructureKey"); dynamicQuery.add(ddmStructureKey.in(ddmStructureKeys)); } }); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) throws PortalException { JournalArticle article = (JournalArticle) object; try { doReindex(article, false); } catch (Exception e) { throw new PortalException(e); } } }); actionableDynamicQuery.performActions(); } catch (Exception e) { throw new SearchException(e); } }
protected ActionableDynamicQuery getRoleActionableDynamicQuery( final PortletDataContext portletDataContext, final boolean export) { ActionableDynamicQuery actionableDynamicQuery = RoleLocalServiceUtil.getExportActionableDynamicQuery(portletDataContext); actionableDynamicQuery.setAddCriteriaMethod( new ActionableDynamicQuery.AddCriteriaMethod() { @Override public void addCriteria(DynamicQuery dynamicQuery) { portletDataContext.addDateRangeCriteria(dynamicQuery, "modifiedDate"); long classNameId = PortalUtil.getClassNameId(Team.class); Property classNameIdProperty = PropertyFactoryUtil.forName("classNameId"); dynamicQuery.add(classNameIdProperty.ne(classNameId)); } }); final ActionableDynamicQuery.PerformActionMethod performActionMethod = actionableDynamicQuery.getPerformActionMethod(); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) throws PortalException { if (!export) { return; } Role role = (Role) object; long defaultUserId = UserLocalServiceUtil.getDefaultUserId(portletDataContext.getCompanyId()); if (!portletDataContext.getBooleanParameter(NAMESPACE, "system-roles") && (role.getUserId() == defaultUserId)) { return; } performActionMethod.performAction(object); } }); return actionableDynamicQuery; }
protected void reindexFileEntries(long companyId, final long groupId, final long dataRepositoryId) throws PortalException { final ActionableDynamicQuery actionableDynamicQuery = DLFileEntryLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setAddCriteriaMethod( new ActionableDynamicQuery.AddCriteriaMethod() { @Override public void addCriteria(DynamicQuery dynamicQuery) { Property property = PropertyFactoryUtil.forName("folderId"); long folderId = DLFolderConstants.getFolderId(groupId, dataRepositoryId); dynamicQuery.add(property.eq(folderId)); } }); actionableDynamicQuery.setCompanyId(companyId); actionableDynamicQuery.setGroupId(groupId); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) { DLFileEntry dlFileEntry = (DLFileEntry) object; try { Document document = getDocument(dlFileEntry); if (document != null) { actionableDynamicQuery.addDocument(document); } } catch (PortalException pe) { if (_log.isWarnEnabled()) { _log.warn( "Unable to index document library file entry " + dlFileEntry.getFileEntryId(), pe); } } } }); actionableDynamicQuery.setSearchEngineId(getSearchEngineId()); actionableDynamicQuery.performActions(); }
@Override public void moveSyncDLObjects(final SyncDLObject parentSyncDLObject) throws PortalException { final String searchTreePath = StringUtil.quote(String.valueOf(parentSyncDLObject.getTypePK()), StringPool.SLASH); ActionableDynamicQuery actionableDynamicQuery = getActionableDynamicQuery(); actionableDynamicQuery.setAddCriteriaMethod( new ActionableDynamicQuery.AddCriteriaMethod() { @Override public void addCriteria(DynamicQuery dynamicQuery) { dynamicQuery.add( RestrictionsFactoryUtil.like( "treePath", StringUtil.quote(searchTreePath, StringPool.PERCENT))); } }); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod<SyncDLObject>() { @Override public void performAction(SyncDLObject syncDLObject) throws PortalException { syncDLObject.setUserId(parentSyncDLObject.getUserId()); syncDLObject.setUserName(parentSyncDLObject.getUserName()); String treePath = syncDLObject.getTreePath(); String oldParentTreePath = treePath.substring(0, treePath.indexOf(searchTreePath) + searchTreePath.length()); treePath = StringUtil.replaceFirst( treePath, oldParentTreePath, parentSyncDLObject.getTreePath()); syncDLObject.setTreePath(treePath); syncDLObjectPersistence.update(syncDLObject); } }); actionableDynamicQuery.performActions(); }
protected void verifyCreateDate() throws Exception { ActionableDynamicQuery actionableDynamicQuery = JournalArticleResourceLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) { JournalArticleResource articleResource = (JournalArticleResource) object; verifyCreateDate(articleResource); } }); actionableDynamicQuery.performActions(); if (_log.isDebugEnabled()) { _log.debug("Create dates verified for articles"); } }
@Test public void testActionableDynamicQuery() throws Exception { final IntegerWrapper count = new IntegerWrapper(); ActionableDynamicQuery actionableDynamicQuery = OrgLaborLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod<OrgLabor>() { @Override public void performAction(OrgLabor orgLabor) { Assert.assertNotNull(orgLabor); count.increment(); } }); actionableDynamicQuery.performActions(); Assert.assertEquals(count.getValue(), _persistence.countAll()); }
protected void reindexEntries(long companyId) throws PortalException { final ActionableDynamicQuery actionableDynamicQuery = BlogsEntryLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setAddCriteriaMethod( new ActionableDynamicQuery.AddCriteriaMethod() { @Override public void addCriteria(DynamicQuery dynamicQuery) { Property displayDateProperty = PropertyFactoryUtil.forName("displayDate"); dynamicQuery.add(displayDateProperty.lt(new Date())); Property statusProperty = PropertyFactoryUtil.forName("status"); Integer[] statuses = { WorkflowConstants.STATUS_APPROVED, WorkflowConstants.STATUS_IN_TRASH }; dynamicQuery.add(statusProperty.in(statuses)); } }); actionableDynamicQuery.setCompanyId(companyId); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) throws PortalException { BlogsEntry entry = (BlogsEntry) object; Document document = getDocument(entry); actionableDynamicQuery.addDocument(document); } }); actionableDynamicQuery.setSearchEngineId(getSearchEngineId()); actionableDynamicQuery.performActions(); }
protected void verifyPermissionsAndAssets() throws Exception { ActionableDynamicQuery actionableDynamicQuery = JournalArticleLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) throws PortalException { JournalArticle article = (JournalArticle) object; verifyPermissionsAndAssets(article); } }); actionableDynamicQuery.performActions(); if (_log.isDebugEnabled()) { _log.debug("Permissions and assets verified for articles"); } }
protected void reindexCalendars(long companyId) throws PortalException { final ActionableDynamicQuery actionableDynamicQuery = CalendarLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setCompanyId(companyId); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) throws PortalException { Calendar calendar = (Calendar) object; Document document = getDocument(calendar); actionableDynamicQuery.addDocument(document); } }); actionableDynamicQuery.setSearchEngineId(getSearchEngineId()); actionableDynamicQuery.performActions(); }
protected void reindexArticles(long companyId) throws PortalException { final ActionableDynamicQuery actionableDynamicQuery = _journalArticleLocalService.getActionableDynamicQuery(); actionableDynamicQuery.setCompanyId(companyId); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) { JournalArticle article = (JournalArticle) object; if (!JournalServiceConfigurationValues.JOURNAL_ARTICLE_INDEX_ALL_VERSIONS) { JournalArticle latestIndexableArticle = fetchLatestIndexableArticleVersion(article.getResourcePrimKey()); if (latestIndexableArticle == null) { return; } article = latestIndexableArticle; } try { Document document = getDocument(article); actionableDynamicQuery.addDocument(document); } catch (PortalException pe) { if (_log.isWarnEnabled()) { _log.warn("Unable to index journal article " + article.getId(), pe); } } } }); actionableDynamicQuery.setSearchEngineId(getSearchEngineId()); actionableDynamicQuery.performActions(); }
protected ActionableDynamicQuery getPageActionableDynamicQuery( final PortletDataContext portletDataContext, final long nodeId, final String portletId) throws SystemException { ActionableDynamicQuery actionableDynamicQuery = WikiPageLocalServiceUtil.getExportActionableDynamicQuery(portletDataContext); final ActionableDynamicQuery.AddCriteriaMethod addCriteriaMethod = actionableDynamicQuery.getAddCriteriaMethod(); actionableDynamicQuery.setAddCriteriaMethod( new ActionableDynamicQuery.AddCriteriaMethod() { @Override public void addCriteria(DynamicQuery dynamicQuery) { addCriteriaMethod.addCriteria(dynamicQuery); Property property = PropertyFactoryUtil.forName("nodeId"); dynamicQuery.add(property.eq(nodeId)); } }); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) throws PortalException { WikiPage page = (WikiPage) object; StagedModelDataHandlerUtil.exportReferenceStagedModel( portletDataContext, portletId, page); } }); return actionableDynamicQuery; }
protected void updateGroups(long companyId) throws PortalException { ActionableDynamicQuery actionableDynamicQuery = GroupLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setCompanyId(companyId); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod<Group>() { @Override public void performAction(Group group) throws PortalException { if (!group.isRegularSite()) { return; } if (!SocialOfficeServiceUtil.isSocialOfficeGroup(group.getGroupId())) { return; } if (group.hasPrivateLayouts()) { updateLayoutSetPrototype(group.getGroupId(), true); } if (group.hasPublicLayouts()) { updateLayoutSetPrototype(group.getGroupId(), false); } UnicodeProperties typeSettingsProperties = group.getTypeSettingsProperties(); typeSettingsProperties.remove("customJspServletContextName"); GroupLocalServiceUtil.updateGroup( group.getGroupId(), typeSettingsProperties.toString()); } }); actionableDynamicQuery.performActions(); }
@Override protected void doVerify() throws Exception { ActionableDynamicQuery socialRequestActionableDynamicQuery = SocialRequestLocalServiceUtil.getActionableDynamicQuery(); socialRequestActionableDynamicQuery.setAddCriteriaMethod( new ActionableDynamicQuery.AddCriteriaMethod() { @Override public void addCriteria(DynamicQuery dynamicQuery) { Property classNameIdProperty = PropertyFactoryUtil.forName("classNameId"); long classNameId = PortalUtil.getClassNameId(Group.class); dynamicQuery.add(classNameIdProperty.eq(classNameId)); Property classPKProperty = PropertyFactoryUtil.forName("classPK"); DynamicQuery groupDynamicQuery = DynamicQueryFactoryUtil.forClass(Group.class); Projection projection = ProjectionFactoryUtil.property("groupId"); groupDynamicQuery.setProjection(projection); dynamicQuery.add(classPKProperty.notIn(groupDynamicQuery)); } }); socialRequestActionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod<SocialRequest>() { @Override public void performAction(SocialRequest socialRequest) { SocialRequestLocalServiceUtil.deleteRequest(socialRequest); } }); socialRequestActionableDynamicQuery.performActions(); }
@Test public void testActionableDynamicQuery() throws Exception { final IntegerWrapper count = new IntegerWrapper(); ActionableDynamicQuery actionableDynamicQuery = KaleoTaskInstanceTokenLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) { KaleoTaskInstanceToken kaleoTaskInstanceToken = (KaleoTaskInstanceToken) object; Assert.assertNotNull(kaleoTaskInstanceToken); count.increment(); } }); actionableDynamicQuery.performActions(); Assert.assertEquals(count.getValue(), _persistence.countAll()); }
@Test public void testActionableDynamicQuery() throws Exception { final IntegerWrapper count = new IntegerWrapper(); ActionableDynamicQuery actionableDynamicQuery = SocialActivitySettingLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) { SocialActivitySetting socialActivitySetting = (SocialActivitySetting) object; Assert.assertNotNull(socialActivitySetting); count.increment(); } }); actionableDynamicQuery.performActions(); Assert.assertEquals(count.getValue(), _persistence.countAll()); }
@Test public void testActionableDynamicQuery() throws Exception { final IntegerWrapper count = new IntegerWrapper(); ActionableDynamicQuery actionableDynamicQuery = CalendarResourceLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) { CalendarResource calendarResource = (CalendarResource) object; Assert.assertNotNull(calendarResource); count.increment(); } }); actionableDynamicQuery.performActions(); Assert.assertEquals(count.getValue(), _persistence.countAll()); }
@Test public void testActionableDynamicQuery() throws Exception { final IntegerWrapper count = new IntegerWrapper(); ActionableDynamicQuery actionableDynamicQuery = ExportImportConfigurationLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) { ExportImportConfiguration exportImportConfiguration = (ExportImportConfiguration) object; Assert.assertNotNull(exportImportConfiguration); count.increment(); } }); actionableDynamicQuery.performActions(); Assert.assertEquals(count.getValue(), _persistence.countAll()); }
protected void reindexUsers(long companyId) throws PortalException { final ActionableDynamicQuery actionableDynamicQuery = UserLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setCompanyId(companyId); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) throws PortalException { User user = (User) object; if (!user.isDefaultUser()) { Document document = getDocument(user); actionableDynamicQuery.addDocument(document); } } }); actionableDynamicQuery.setSearchEngineId(getSearchEngineId()); actionableDynamicQuery.performActions(); }
protected void reindexExportImportConfigurations(long companyId) throws PortalException { final ActionableDynamicQuery actionableDynamicQuery = ExportImportConfigurationLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setCompanyId(companyId); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) throws PortalException { ExportImportConfiguration exportImportConfiguration = (ExportImportConfiguration) object; Document document = getDocument(exportImportConfiguration); actionableDynamicQuery.addDocument(document); } }); actionableDynamicQuery.setSearchEngineId(getSearchEngineId()); actionableDynamicQuery.performActions(); }
@Override public void reindexDDMStructures(List<Long> ddmStructureIds) throws SearchException { if (IndexWriterHelperUtil.isIndexReadOnly() || !isIndexerEnabled()) { return; } try { final String[] ddmStructureKeys = new String[ddmStructureIds.size()]; for (int i = 0; i < ddmStructureIds.size(); i++) { long ddmStructureId = ddmStructureIds.get(i); DDMStructure ddmStructure = _ddmStructureLocalService.getDDMStructure(ddmStructureId); ddmStructureKeys[i] = ddmStructure.getStructureKey(); } final Indexer<JournalArticle> indexer = IndexerRegistryUtil.nullSafeGetIndexer(JournalArticle.class); final ActionableDynamicQuery actionableDynamicQuery = _journalArticleLocalService.getActionableDynamicQuery(); actionableDynamicQuery.setAddCriteriaMethod( new ActionableDynamicQuery.AddCriteriaMethod() { @Override public void addCriteria(DynamicQuery dynamicQuery) { Property ddmStructureKey = PropertyFactoryUtil.forName("DDMStructureKey"); dynamicQuery.add(ddmStructureKey.in(ddmStructureKeys)); if (!isIndexAllArticleVersions()) { Property statusProperty = PropertyFactoryUtil.forName("status"); Integer[] statuses = { WorkflowConstants.STATUS_APPROVED, WorkflowConstants.STATUS_IN_TRASH }; dynamicQuery.add(statusProperty.in(statuses)); } } }); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod<JournalArticle>() { @Override public void performAction(JournalArticle article) throws PortalException { try { indexer.reindex(indexer.getClassName(), article.getResourcePrimKey()); } catch (Exception e) { throw new PortalException(e); } } }); actionableDynamicQuery.performActions(); } catch (Exception e) { throw new SearchException(e); } }