List of usage examples for com.liferay.portal.kernel.search Field COMPANY_ID
String COMPANY_ID
To view the source code for com.liferay.portal.kernel.search Field COMPANY_ID.
Click Source Link
From source file:com.liferay.portlet.bookmarks.service.BookmarksFolderServiceTest.java
License:Open Source License
public void testSearch() throws Exception { BookmarksEntry entry = addEntry();/*from www . ja va 2 s . c o m*/ Thread.sleep(1000); long companyId = entry.getCompanyId(); long groupId = entry.getFolder().getGroupId(); long folderId = entry.getFolderId(); String keywords = "test"; SearchContext searchContext = new SearchContext(); searchContext.setCompanyId(companyId); searchContext.setFolderIds(new long[] { folderId }); searchContext.setGroupIds(new long[] { groupId }); searchContext.setKeywords(keywords); QueryConfig queryConfig = new QueryConfig(); queryConfig.setHighlightEnabled(false); queryConfig.setScoreEnabled(false); searchContext.setQueryConfig(queryConfig); Indexer indexer = IndexerRegistryUtil.getIndexer(BookmarksEntry.class); Hits hits = indexer.search(searchContext); assertEquals(1, hits.getLength()); List<Document> results = hits.toList(); for (Document doc : results) { assertEquals(companyId, GetterUtil.getLong(doc.get(Field.COMPANY_ID))); assertEquals(groupId, GetterUtil.getLong(doc.get(Field.GROUP_ID))); assertEqualsIgnoreCase(entry.getName(), doc.get(Field.TITLE)); assertEquals(entry.getUrl(), doc.get(Field.URL)); assertEqualsIgnoreCase(entry.getDescription(), doc.get(Field.DESCRIPTION)); assertEquals(folderId, GetterUtil.getLong(doc.get("folderId"))); assertEquals(entry.getEntryId(), GetterUtil.getLong(doc.get(Field.ENTRY_CLASS_PK))); } BookmarksFolderLocalServiceUtil.deleteFolder(folderId); Thread.sleep(1000); hits = indexer.search(searchContext); Query query = hits.getQuery(); assertEquals(query.toString(), 0, hits.getLength()); addEntry(); addEntry(); addEntry(); addEntry(); Thread.sleep(1000); searchContext.setEnd(3); searchContext.setFolderIds(null); searchContext.setStart(1); hits = indexer.search(searchContext); assertEquals(4, hits.getLength()); assertEquals(2, hits.getDocs().length); }
From source file:com.liferay.portlet.documentlibrary.util.DLIndexer.java
License:Open Source License
@Override protected Document doGetDocument(Object obj) throws Exception { DLFileEntry dlFileEntry = (DLFileEntry) obj; if (_log.isDebugEnabled()) { _log.debug("Indexing document " + dlFileEntry); }/*from ww w. j ava 2 s . c om*/ boolean indexContent = true; InputStream is = null; try { if (PropsValues.DL_FILE_INDEXING_MAX_SIZE == 0) { indexContent = false; } else if (PropsValues.DL_FILE_INDEXING_MAX_SIZE != -1) { if (dlFileEntry.getSize() > PropsValues.DL_FILE_INDEXING_MAX_SIZE) { indexContent = false; } } if (indexContent) { String[] ignoreExtensions = PrefsPropsUtil .getStringArray(PropsKeys.DL_FILE_INDEXING_IGNORE_EXTENSIONS, StringPool.COMMA); if (ArrayUtil.contains(ignoreExtensions, StringPool.PERIOD + dlFileEntry.getExtension())) { indexContent = false; } } if (indexContent) { is = dlFileEntry.getFileVersion().getContentStream(false); } } catch (Exception e) { } if (indexContent && (is == null)) { if (_log.isDebugEnabled()) { _log.debug("Document " + dlFileEntry + " does not have any content"); } return null; } try { Document document = new DocumentImpl(); long fileEntryId = dlFileEntry.getFileEntryId(); document.addUID(PORTLET_ID, fileEntryId); List<AssetCategory> assetCategories = AssetCategoryLocalServiceUtil .getCategories(DLFileEntry.class.getName(), fileEntryId); long[] assetCategoryIds = StringUtil .split(ListUtil.toString(assetCategories, AssetCategory.CATEGORY_ID_ACCESSOR), 0L); document.addKeyword(Field.ASSET_CATEGORY_IDS, assetCategoryIds); String[] assetCategoryNames = StringUtil .split(ListUtil.toString(assetCategories, AssetCategory.NAME_ACCESSOR)); document.addKeyword(Field.ASSET_CATEGORY_NAMES, assetCategoryNames); String[] assetTagNames = AssetTagLocalServiceUtil.getTagNames(DLFileEntry.class.getName(), fileEntryId); document.addKeyword(Field.ASSET_TAG_NAMES, assetTagNames); document.addKeyword(Field.COMPANY_ID, dlFileEntry.getCompanyId()); if (indexContent) { try { document.addFile(Field.CONTENT, is, dlFileEntry.getTitle()); } catch (IOException ioe) { throw new SearchException("Cannot extract text from file" + dlFileEntry); } } document.addText(Field.DESCRIPTION, dlFileEntry.getDescription()); document.addKeyword(Field.ENTRY_CLASS_NAME, DLFileEntry.class.getName()); document.addKeyword(Field.ENTRY_CLASS_PK, fileEntryId); document.addKeyword(Field.FOLDER_ID, dlFileEntry.getFolderId()); document.addKeyword(Field.GROUP_ID, getParentGroupId(dlFileEntry.getGroupId())); document.addDate(Field.MODIFIED_DATE, dlFileEntry.getModifiedDate()); document.addKeyword(Field.PORTLET_ID, PORTLET_ID); document.addText(Field.PROPERTIES, dlFileEntry.getLuceneProperties()); document.addKeyword(Field.SCOPE_GROUP_ID, dlFileEntry.getGroupId()); DLFileVersion dlFileVersion = dlFileEntry.getFileVersion(); document.addKeyword(Field.STATUS, dlFileVersion.getStatus()); document.addText(Field.TITLE, dlFileEntry.getTitle()); long userId = dlFileEntry.getUserId(); document.addKeyword(Field.USER_ID, userId); document.addKeyword(Field.USER_NAME, PortalUtil.getUserName(userId, dlFileEntry.getUserName()), true); document.addKeyword("dataRepositoryId", dlFileEntry.getDataRepositoryId()); document.addKeyword("extension", dlFileEntry.getExtension()); document.addKeyword("fileEntryTypeId", dlFileEntry.getFileEntryTypeId()); document.addKeyword("path", dlFileEntry.getTitle()); ExpandoBridge expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(dlFileEntry.getCompanyId(), DLFileEntry.class.getName(), dlFileVersion.getFileVersionId()); ExpandoBridgeIndexerUtil.addAttributes(document, expandoBridge); addFileEntryTypeAttributes(document, dlFileVersion); if (_log.isDebugEnabled()) { _log.debug("Document " + dlFileEntry + " indexed successfully"); } return document; } finally { if (is != null) { try { is.close(); } catch (IOException ioe) { } } } }
From source file:com.liferay.portlet.journal.util.JournalUtil.java
License:Open Source License
public static Tuple getArticles(Hits hits) throws PortalException, SystemException { List<JournalArticle> articles = new ArrayList<JournalArticle>(); boolean corruptIndex = false; List<com.liferay.portal.kernel.search.Document> documents = hits.toList(); for (com.liferay.portal.kernel.search.Document document : documents) { long groupId = GetterUtil.getLong(document.get(Field.GROUP_ID)); String articleId = document.get("articleId"); try {/*from w w w .j a v a2 s . co m*/ JournalArticle article = JournalArticleLocalServiceUtil.getArticle(groupId, articleId); articles.add(article); } catch (NoSuchArticleException nsae) { corruptIndex = true; Indexer indexer = IndexerRegistryUtil.getIndexer(JournalArticle.class); long companyId = GetterUtil.getLong(document.get(Field.COMPANY_ID)); indexer.delete(companyId, document.getUID()); } } return new Tuple(articles, corruptIndex); }
From source file:com.liferay.portlet.usersadmin.util.OrganizationIndexer.java
License:Open Source License
@Override protected Document doGetDocument(Object obj) throws Exception { Organization organization = (Organization) obj; Document document = getBaseModelDocument(PORTLET_ID, organization); document.addKeyword(Field.COMPANY_ID, organization.getCompanyId()); document.addText(Field.NAME, organization.getName()); document.addKeyword(Field.ORGANIZATION_ID, organization.getOrganizationId()); document.addKeyword(Field.TYPE, organization.getType()); document.addKeyword("parentOrganizationId", organization.getParentOrganizationId()); String treePath = organization.buildTreePath(); document.addKeyword("treePath", treePath); populateAddresses(document, organization.getAddresses(), organization.getRegionId(), organization.getCountryId()); return document; }
From source file:com.liferay.portlet.usersadmin.util.UserIndexer.java
License:Open Source License
@Override protected Document doGetDocument(Object obj) throws Exception { User user = (User) obj;/*from w w w . j a va 2s .com*/ Document document = getBaseModelDocument(PORTLET_ID, user); long[] organizationIds = user.getOrganizationIds(); document.addKeyword(Field.COMPANY_ID, user.getCompanyId()); document.addDate(Field.MODIFIED_DATE, user.getModifiedDate()); document.addKeyword(Field.STATUS, user.getStatus()); document.addKeyword(Field.USER_ID, user.getUserId()); document.addKeyword(Field.USER_NAME, user.getFullName()); document.addKeyword("ancestorOrganizationIds", getAncestorOrganizationIds(user.getUserId(), user.getOrganizationIds())); document.addText("emailAddress", user.getEmailAddress()); document.addText("firstName", user.getFirstName()); document.addText("fullName", user.getFullName()); document.addKeyword("groupIds", user.getGroupIds()); document.addText("jobTitle", user.getJobTitle()); document.addText("lastName", user.getLastName()); document.addText("middleName", user.getMiddleName()); document.addKeyword("organizationIds", organizationIds); document.addKeyword("organizationCount", String.valueOf(organizationIds.length)); document.addKeyword("roleIds", user.getRoleIds()); document.addText("screenName", user.getScreenName()); document.addKeyword("teamIds", user.getTeamIds()); document.addKeyword("userGroupIds", user.getUserGroupIds()); populateAddresses(document, user.getAddresses(), 0, 0); return document; }
From source file:com.liferay.portlet.usersadmin.util.UsersAdminImpl.java
License:Open Source License
public Tuple getOrganizations(Hits hits) throws PortalException, SystemException { List<Organization> organizations = new ArrayList<Organization>(); boolean corruptIndex = false; List<Document> documents = hits.toList(); for (Document document : documents) { long organizationId = GetterUtil.getLong(document.get(Field.ORGANIZATION_ID)); try {// w ww. j ava 2 s. co m Organization organization = OrganizationLocalServiceUtil.getOrganization(organizationId); organizations.add(organization); } catch (NoSuchOrganizationException nsoe) { corruptIndex = true; Indexer indexer = IndexerRegistryUtil.getIndexer(Organization.class); long companyId = GetterUtil.getLong(document.get(Field.COMPANY_ID)); indexer.delete(companyId, document.getUID()); } } return new Tuple(organizations, corruptIndex); }
From source file:com.liferay.portlet.usersadmin.util.UsersAdminImpl.java
License:Open Source License
public Tuple getUsers(Hits hits) throws PortalException, SystemException { List<User> users = new ArrayList<User>(); boolean corruptIndex = false; List<Document> documents = hits.toList(); for (Document document : documents) { long userId = GetterUtil.getLong(document.get(Field.USER_ID)); try {//from w w w . java 2 s . c om User user = UserLocalServiceUtil.getUser(userId); users.add(user); } catch (NoSuchUserException nsue) { corruptIndex = true; Indexer indexer = IndexerRegistryUtil.getIndexer(User.class); long companyId = GetterUtil.getLong(document.get(Field.COMPANY_ID)); indexer.delete(companyId, document.getUID()); } } return new Tuple(users, corruptIndex); }
From source file:com.liferay.tool.datamanipulator.handler.BaseHandler.java
License:Open Source License
private Object[] _getArgs(String[] argNames, Class<?>[] argClazzs, RequestContext requestContext, Map<String, Object> entrySpecifiedArgs) throws Exception { long companyId = requestContext.getCompanyId(); long groupId = requestContext.getGroupId(); long userId = requestContext.getUserId(); Date now = new Date(); ServiceContext serviceContext = HandlerUtil.getServiceContext(groupId, userId); Map<String, Calendar> dateMap = new HashMap<String, Calendar>(entryDateFields.size()); for (String entryDateField : entryDateFields) { String dateVarName = entryDateField + "Date"; String dateKeyName = entryDateField + "-date"; Date serviceContextDate = (Date) BeanUtil.getPropertySilently(serviceContext, dateVarName); Calendar dateVarValue;// www. j a v a2s . c o m if (requestContext.contains(dateKeyName + "-from") && requestContext.contains(dateKeyName + "-to")) { dateVarValue = requestContext.getBetweenCalendar(dateKeyName); } else if (Validator.isNotNull(serviceContextDate)) { dateVarValue = Calendar.getInstance(); dateVarValue.setTime(serviceContextDate); } else { dateVarValue = Calendar.getInstance(); dateVarValue.setTime(now); } dateMap.put(dateVarName, dateVarValue); } StringBuilder sb = new StringBuilder(); sb.append(_entryName); sb.append(requestContext.getString("entryCount")); sb.append(" ${fieldName} "); if (requestContext.contains("editCount")) { sb.append("Edited "); sb.append(requestContext.getString("editCount")); sb.append(" times "); } sb.append(requestContext.getRandomString()); String entryTemplate = sb.toString(); User user = UserLocalServiceUtil.fetchUser(userId); List<Object> argValues = new ArrayList<Object>(argNames.length); for (int i = 0; i < argNames.length; i++) { String argName = argNames[i]; Class<?> argClazz = argClazzs[i]; if (entrySpecifiedArgs.containsKey(argName)) { argValues.add(entrySpecifiedArgs.get(argName)); } else if (argName.equals(Field.COMPANY_ID)) { argValues.add(companyId); } else if (argName.matches(".*Date.*")) { int x = argName.indexOf("Date") + 4; String dateKey = argName.substring(0, x); Calendar calendar = dateMap.get(dateKey); String calendarFieldName = argName.substring(x).toUpperCase(); if (calendarFieldName.equals("DAY")) { calendarFieldName = "DATE"; } int calendarFieldValue = (Integer) GetterUtil.getFieldValue(Calendar.class.getName(), calendarFieldName); argValues.add(calendar.get(calendarFieldValue)); } else if (entryStringFields.contains(argName)) { Map<String, String> context = new HashMap<String, String>(1); context.put("fieldName", argName); String content = StringUtil.getStringFieldValue(argName, context, entryTemplate); argValues.add(content); } else if (entryMapFields.contains(argName)) { argName = argName.substring(0, (argName.length() - 3)); Map<String, String> context = new HashMap<String, String>(1); context.put("fieldName", argName); String content = StringUtil.getStringFieldValue(argName, context, entryTemplate); argValues.add(StringUtil.getLocalizationMap(content)); } else if (argName.equals("friendlyURL")) { Map<String, String> context = new HashMap<String, String>(1); context.put("fieldName", "name"); String friendlyURL = StringUtil.getStringFieldValue(argName, context, entryTemplate); friendlyURL = StringPool.SLASH + FriendlyURLNormalizerUtil.normalize(friendlyURL); argValues.add(friendlyURL); } else if (argName.equals(Field.GROUP_ID)) { argValues.add(groupId); } else if (argName.equals(getParentClassPKName())) { argValues.add(Long.valueOf(_getParentClassPK(requestContext))); } else if (argName.equals("locale")) { argValues.add(LocaleUtil.getDefault()); } else if (argName.equals("serviceContext")) { argValues.add(serviceContext); } else if (argName.equals(Field.USER_ID)) { argValues.add(userId); } else if (argName.equals(Field.USER_NAME)) { argValues.add(user.getFullName()); } else if (requestContext.contains(argName)) { argValues.add(requestContext.get(argName)); } else { Object argValue = null; try { Object object = argClazz.newInstance(); if (object instanceof String) { argValue = StringPool.BLANK; } } catch (InstantiationException e) { Type type = argClazz; if (type.equals(Boolean.TYPE)) { argValue = false; } else if (type.equals(Integer.TYPE)) { argValue = (int) 0; } else if (type.equals(List.class)) { argValue = new ArrayList<Object>(0); } else if (type.equals(Long.TYPE)) { argValue = (long) 0; } } argValues.add(argValue); } } return (Object[]) argValues.toArray(new Object[argValues.size()]); }
From source file:com.liferay.trash.internal.search.TrashIndexer.java
License:Open Source License
@Override public BooleanQuery getFullQuery(SearchContext searchContext) throws SearchException { try {/*from w w w. j ava2s . co m*/ BooleanFilter fullQueryBooleanFilter = new BooleanFilter(); fullQueryBooleanFilter.addRequiredTerm(Field.COMPANY_ID, searchContext.getCompanyId()); List<TrashHandler> trashHandlers = TrashHandlerRegistryUtil.getTrashHandlers(); for (TrashHandler trashHandler : trashHandlers) { Filter filter = trashHandler.getExcludeFilter(searchContext); if (filter != null) { fullQueryBooleanFilter.add(filter, BooleanClauseOccur.MUST_NOT); } processTrashHandlerExcludeQuery(searchContext, fullQueryBooleanFilter, trashHandler); } long[] groupIds = searchContext.getGroupIds(); if (ArrayUtil.isNotEmpty(groupIds)) { TermsFilter groupTermsFilter = new TermsFilter(Field.GROUP_ID); groupTermsFilter.addValues(ArrayUtil.toStringArray(groupIds)); fullQueryBooleanFilter.add(groupTermsFilter, BooleanClauseOccur.MUST); } fullQueryBooleanFilter.addRequiredTerm(Field.STATUS, WorkflowConstants.STATUS_IN_TRASH); BooleanQuery fullQuery = createFullQuery(fullQueryBooleanFilter, searchContext); return fullQuery; } catch (SearchException se) { throw se; } catch (Exception e) { throw new SearchException(e); } }
From source file:com.liferay.user.groups.admin.web.internal.search.UserGroupIndexer.java
License:Open Source License
public UserGroupIndexer() { setDefaultSelectedFieldNames(Field.COMPANY_ID, Field.UID, Field.USER_GROUP_ID); setFilterSearch(true); setPermissionAware(true); setStagingAware(false); }