Example usage for com.liferay.portal.kernel.search Document getDate

List of usage examples for com.liferay.portal.kernel.search Document getDate

Introduction

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

Prototype

public Date getDate(String name) throws ParseException;

Source Link

Usage

From source file:com.liferay.calendar.search.test.CalendarBookingIndexerIndexedFieldsTest.java

License:Open Source License

protected void adjustDatePrecision(String field, Document document, DateFormat dateFormat) throws Exception {

    Date date1 = document.getDate(field);

    Date date2 = dateFormat.parse(dateFormat.format(date1));

    document.addDate(field, date2);//from   ww w.jav a  2  s  . c o m
    document.addKeyword(field.concat("_sortable"), date2.getTime());
}

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 av  a  2s. c  o m*/

            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.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 {/*  ww  w. j av a  2s.  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);
    }
}