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

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

Introduction

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

Prototype

String ENTRY_CLASS_NAME

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

Click Source Link

Usage

From source file:com.liferay.trash.service.impl.TrashEntryLocalServiceImpl.java

License:Open Source License

private List<TrashEntry> _getEntries(Hits hits) {
    List<TrashEntry> entries = new ArrayList<>();

    for (Document document : hits.getDocs()) {
        String entryClassName = GetterUtil.getString(document.get(Field.ENTRY_CLASS_NAME));
        long classPK = GetterUtil.getLong(document.get(Field.ENTRY_CLASS_PK));

        TrashEntry entry = fetchEntry(entryClassName, classPK);

        if (entry != null) {
            entries.add(entry);/*from  ww w .  j a  v a 2s .  c  om*/

            continue;
        }

        try {
            String userName = GetterUtil.getString(document.get(Field.REMOVED_BY_USER_NAME));

            Date removedDate = document.getDate(Field.REMOVED_DATE);

            entry = new TrashEntryImpl();

            entry.setUserName(userName);
            entry.setCreateDate(removedDate);

            TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(entryClassName);

            TrashRenderer trashRenderer = trashHandler.getTrashRenderer(classPK);

            entry.setClassName(trashRenderer.getClassName());
            entry.setClassPK(trashRenderer.getClassPK());

            String rootEntryClassName = GetterUtil.getString(document.get(Field.ROOT_ENTRY_CLASS_NAME));
            long rootEntryClassPK = GetterUtil.getLong(document.get(Field.ROOT_ENTRY_CLASS_PK));

            TrashEntry rootTrashEntry = fetchEntry(rootEntryClassName, rootEntryClassPK);

            if (rootTrashEntry != null) {
                entry.setRootEntry(rootTrashEntry);
            }

            entries.add(entry);
        } catch (Exception e) {
            if (_log.isWarnEnabled()) {
                _log.warn(StringBundler.concat("Unable to find trash entry for ", entryClassName,
                        " with primary key ", String.valueOf(classPK)));
            }
        }
    }

    return entries;
}

From source file:com.liferay.users.admin.internal.search.UserIndexer.java

License:Open Source License

public UserIndexer() {
    setDefaultSelectedFieldNames(Field.ASSET_TAG_NAMES, Field.COMPANY_ID, Field.ENTRY_CLASS_NAME,
            Field.ENTRY_CLASS_PK, Field.GROUP_ID, Field.MODIFIED_DATE, Field.SCOPE_GROUP_ID, Field.UID,
            Field.USER_ID);/*  ww w . j  a v a2 s  .c  om*/
    setPermissionAware(true);
    setStagingAware(false);
}

From source file:com.liferay.wiki.search.WikiNodeIndexer.java

License:Open Source License

public WikiNodeIndexer() {
    setDefaultSelectedFieldNames(Field.COMPANY_ID, Field.ENTRY_CLASS_NAME, Field.ENTRY_CLASS_PK, Field.UID);
    setFilterSearch(false);
    setPermissionAware(false);
}

From source file:com.liferay.wiki.search.WikiPageIndexer.java

License:Open Source License

public WikiPageIndexer() {
    setDefaultSelectedFieldNames(Field.ASSET_TAG_NAMES, Field.COMPANY_ID, Field.CONTENT, Field.ENTRY_CLASS_NAME,
            Field.ENTRY_CLASS_PK, Field.GROUP_ID, Field.MODIFIED_DATE, Field.SCOPE_GROUP_ID, Field.TITLE,
            Field.UID);/*  w w w. j  a  v a 2  s.c o m*/
    setFilterSearch(true);
    setPermissionAware(true);
}

From source file:com.ssavr.solr.service.impl.IceCreamLocalServiceImpl.java

License:Open Source License

/***************************************************************************
 ************************** GET ********************************************
 ***************************************************************************/

public IceCreamBean getIceCreamBean(IceCream iceCream) throws Exception {
    String uid = "iceCream_" + iceCream.getUuid();
    IceCreamBean bean = new IceCreamBean();
    bean.setUid(uid);//w w w.  ja  v a  2 s  . co  m
    bean.setCompanyId(iceCream.getCompanyId());
    bean.setIceCreamId(iceCream.getIceCreamId());
    bean.setName(iceCream.getName());
    bean.setFlavor(iceCream.getFlavor());
    List<IceCreamDocuments> documents = iceCreamDocumentsLocalService
            .getIceCreamDocumentsByIceCreamId(iceCream.getIceCreamId());
    List<String> documentsContent = new ArrayList<String>();

    if (!documents.isEmpty()) {
        List<String> documentIds = new ArrayList<String>();
        for (IceCreamDocuments document : documents) {
            documentIds.add(String.valueOf(document.getDocumentId()));
        }
        String documentsStr = StringUtil.merge(documentIds, StringPool.SPACE);

        SolrQuery query = new SolrQuery();
        query.setQuery(Field.ENTRY_CLASS_PK + ":(" + documentsStr + ")");
        query.addFilterQuery(
                Field.ENTRY_CLASS_NAME + ":(com.liferay.portlet.documentlibrary.model.DLFileEntry)");
        query.setStart(0);
        query.setRows(10000000);

        String activeServerUrl = SolrUtil.getActiveSolrServer();
        CommonsHttpSolrServer server = new CommonsHttpSolrServer(activeServerUrl);

        QueryResponse qr = server.query(query);
        SolrDocumentList docs = qr.getResults();
        if (_log.isDebugEnabled()) {
            _log.debug("Found " + docs.size() + " Document(-s)");
        }

        for (int i = 0; i < docs.size(); ++i) {
            String docContent = (String) docs.get(i).getFieldValue("content");
            documentsContent.add(docContent);
        }
    }

    bean.setIceCreamRecipeContent(documentsContent);

    if (_log.isDebugEnabled()) {
        _log.debug(bean.toString());
    }

    return bean;
}

From source file:com.vportal.portal.search.HitsOpenSearchImpl.java

License:Open Source License

public String search(HttpServletRequest request, long groupId, long userId, String keywords, int startPage,
        int itemsPerPage, String format) throws SearchException {

    try {//from  ww  w  . j  a v  a 2  s .  c  o  m
        ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

        int start = (startPage * itemsPerPage) - itemsPerPage;
        int end = startPage * itemsPerPage;

        SearchContext searchContext = SearchContextFactory.getInstance(request);

        searchContext.setGroupIds(new long[] { groupId });
        searchContext.setEnd(end);
        searchContext.setKeywords(keywords);
        searchContext.setScopeStrict(false);
        searchContext.setStart(start);
        searchContext.setUserId(userId);

        addSearchAttributes(themeDisplay.getCompanyId(), searchContext, keywords);

        Portlet portlet = PortletLocalServiceUtil.getPortletById(themeDisplay.getCompanyId(), getPortletId());

        Indexer indexer = portlet.getIndexerInstance();

        Hits results = indexer.search(searchContext);

        String[] queryTerms = results.getQueryTerms();

        int total = results.getLength();

        Object[] values = addSearchResults(queryTerms, keywords, startPage, itemsPerPage, total, start,
                getTitle(keywords), getSearchPath(), format, themeDisplay);

        com.liferay.portal.kernel.xml.Document doc = (com.liferay.portal.kernel.xml.Document) values[0];
        Element root = (Element) values[1];

        for (int i = 0; i < results.getDocs().length; i++) {
            Document result = results.doc(i);

            String portletId = result.get(Field.PORTLET_ID);

            String snippet = results.snippet(i);

            long resultGroupId = GetterUtil.getLong(result.get(Field.GROUP_ID));

            PortletURL portletURL = getPortletURL(request, portletId, resultGroupId);

            Summary summary = getSummary(indexer, result, snippet, portletURL);

            String title = summary.getTitle();
            String url = getURL(themeDisplay, resultGroupId, result, portletURL);
            Date modifedDate = result.getDate(Field.MODIFIED);
            String content = summary.getContent();

            String[] tags = new String[0];

            Field assetTagNamesField = result.getFields().get(Field.ASSET_TAG_NAMES);

            if (assetTagNamesField != null) {
                tags = assetTagNamesField.getValues();
            }

            double ratings = 0.0;

            String entryClassName = result.get(Field.ENTRY_CLASS_NAME);
            long entryClassPK = GetterUtil.getLong(result.get(Field.ENTRY_CLASS_PK));

            if ((Validator.isNotNull(entryClassName)) && (entryClassPK > 0)) {

                RatingsStats stats = RatingsStatsLocalServiceUtil.getStats(entryClassName, entryClassPK);

                ratings = stats.getTotalScore();
            }

            double score = results.score(i);

            addSearchResult(root, resultGroupId, entryClassName, entryClassPK, title, url, modifedDate, content,
                    tags, ratings, score, format);
        }

        if (_log.isDebugEnabled()) {
            _log.debug("Return\n" + doc.asXML());
        }

        return doc.asXML();
    } catch (Exception e) {
        throw new SearchException(e);
    }
}

From source file:com.vportal.portlet.vcms.util.SearchIndexer.java

License:Open Source License

public static Document getAddArticleDocument(long companyId, long groupId, String articleId, String title,
        String description, String content) throws NumberFormatException, PortalException, SystemException {

    InputStream is = null;// www .ja v a  2s .c om
    List addedAttachments = AttachmentLocalServiceUtil.getAttachments(Long.parseLong(articleId),
            VcmsArticle.class);
    for (int i = 0; i < addedAttachments.size(); i++) {
        Attachment attachment = (Attachment) addedAttachments.get(i);
        DLFileEntry entry = null;
        try {
            entry = (DLFileEntry) DLFileEntryLocalServiceUtil.getFileEntry(attachment.getFileEntryId());
            /*String fileExtension = entry.getTitleWithExtension();
            String extension = fileExtension.substring(fileExtension.lastIndexOf(".")+1,fileExtension.length());*/
            String extension = entry.getExtension();
            is = DLLocalServiceUtil.getFileAsStream(companyId, entry.getFolderId(), entry.getName());
            content = FileUtilExt.getContentFile(is, content, extension);
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
    }
    content = HtmlUtil.extractText(content);
    Document doc = new DocumentImpl();
    doc.addUID(PORTLET_ID, articleId);

    doc.addKeyword(Field.COMPANY_ID, companyId);
    doc.addKeyword(Field.PORTLET_ID, PORTLET_ID);
    doc.addKeyword(Field.GROUP_ID, groupId);

    doc.addText(Field.TITLE, title);
    doc.addText(Field.CONTENT, content);
    doc.addText(Field.DESCRIPTION, description);
    doc.addModifiedDate();

    doc.addKeyword(Field.ENTRY_CLASS_NAME, VcmsArticle.class.getName());
    doc.addKeyword(Field.ENTRY_CLASS_PK, articleId);
    return doc;
}

From source file:jorgediazest.indexchecker.model.IndexCheckerModel.java

License:Open Source License

public BooleanQuery getIndexQuery(long groupId, SearchContext searchContext) {

    BooleanQuery contextQuery = BooleanQueryFactoryUtil.create(searchContext);
    contextQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, this.getClassName());

    if (groupId != 0) {
        contextQuery.addRequiredTerm(Field.SCOPE_GROUP_ID, groupId);
    }/*from www  .j a  va 2s . c  om*/

    return contextQuery;
}

From source file:jorgediazest.indexchecker.model.IndexCheckerModelQuery.java

License:Open Source License

public BooleanQuery getIndexQuery(List<Long> groupIds, SearchContext searchContext) throws ParseException {

    BooleanQuery query = BooleanQueryFactoryUtil.create(searchContext);
    query.addRequiredTerm(Field.ENTRY_CLASS_NAME, getModel().getClassName());

    if (getModel().hasAttribute("groupId") && (groupIds != null)) {
        BooleanQuery groupQuery = BooleanQueryFactoryUtil.create(searchContext);

        for (Long groupId : groupIds) {
            groupQuery.addTerm(Field.SCOPE_GROUP_ID, groupId);
        }//from  w  w w.ja  v  a2  s. co  m

        query.add(groupQuery, BooleanClauseOccur.MUST);
    }

    return query;
}

From source file:org.xcolab.portlets.discussions.Indexer.java

License:Open Source License

@Override
public Document getDocument(Object obj) throws SearchException {

    DiscussionMessage message = (DiscussionMessage) obj;

    Document doc = new DocumentImpl();

    doc.addUID(PORTLET_ID, message.getMessageId());

    doc.addModifiedDate(message.getCreateDate());

    doc.addKeyword(Field.COMPANY_ID, 10112L);
    doc.addKeyword(Field.PORTLET_ID, PORTLET_ID);
    doc.addKeyword(Field.GROUP_ID, message.getCategoryGroupId());

    doc.addText(Field.TITLE, message.getSubject());
    doc.addText(Field.CONTENT, message.getBody());

    doc.addKeyword(Field.ENTRY_CLASS_NAME, DiscussionMessage.class.getName());
    doc.addKeyword(Field.ENTRY_CLASS_PK, message.getMessageId());
    return doc;/*from  www .j  a  va  2  s  . c  o  m*/
}