Example usage for com.liferay.portal.kernel.search Field COMPANY_ID

List of usage examples for com.liferay.portal.kernel.search Field COMPANY_ID

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.search Field COMPANY_ID.

Prototype

String COMPANY_ID

To view the source code for com.liferay.portal.kernel.search Field COMPANY_ID.

Click Source Link

Usage

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);
}