@Override public SearchResult<Widget> getPublishedWidgetsByFreeTextSearch(String searchTerm, int offset, int pageSize) { return getWidgetsBySearchCriteria(searchTerm, null, WidgetStatus.PUBLISHED.getWidgetStatus(), offset, pageSize); }
@ModelAttribute("widgetStatus") public WidgetStatus[] getWidgetStatusValues() { return values(); }
protected void validate(Widget widget) { if(widget == null) { throw new ResourceNotFoundException("The requested gadget does not exist in the gadget store."); } else if(widget.getWidgetStatus().equals(WidgetStatus.PREVIEW)) { throw new IllegalStateException("The requested gadget exists in the gadget store but is not published."); } } }
@Override public int hashCode() { int result = id != null ? id.hashCode() : 0; result = 31 * result + (title != null ? title.hashCode() : 0); result = 31 * result + (titleUrl != null ? titleUrl.hashCode() : 0); result = 31 * result + (url != null ? url.hashCode() : 0); result = 31 * result + (thumbnailUrl != null ? thumbnailUrl.hashCode() : 0); result = 31 * result + (screenshotUrl != null ? screenshotUrl.hashCode() : 0); result = 31 * result + (type != null ? type.hashCode() : 0); result = 31 * result + (author != null ? author.hashCode() : 0); result = 31 * result + (authorEmail != null ? authorEmail.hashCode() : 0); result = 31 * result + (description != null ? description.hashCode() : 0); result = 31 * result + (widgetStatus != null ? widgetStatus.hashCode() : 0); result = 31 * result + (comments != null ? comments.hashCode() : 0); result = 31 * result + (ownerId != null ? ownerId.hashCode() : 0); result = 31 * result + (disableRendering ? 1 : 0); result = 31 * result + (disableRenderingMessage != null ? disableRenderingMessage.hashCode() : 0); result = 31 * result + (ratings != null ? ratings.hashCode() : 0); result = 31 * result + (tags != null ? tags.hashCode() : 0); result = 31 * result + (categories != null ? categories.hashCode() : 0); result = 31 * result + (featured ? 1 : 0); return result; } }
@Override public SearchResult<Widget> getWidgetsBySearchCriteria(String searchTerm, String widgetType, String widgetStatus, int offset, int pageSize) { final WidgetStatus status = StringUtils.isBlank(widgetStatus) ? null : WidgetStatus.get(widgetStatus); final int count = widgetRepository.getCountByStatusAndTypeAndFreeText(status, widgetType, searchTerm); final List<Widget> widgets = widgetRepository.getByStatusAndTypeAndFreeTextSearch(status, widgetType, searchTerm, offset, pageSize); final SearchResult<Widget> searchResult = new SearchResult<Widget>(widgets, count); searchResult.setOffset(offset); searchResult.setPageSize(pageSize); return searchResult; }
private boolean isPublishedWidget(Widget widget, List<Widget> trustedWidgetContainer, boolean trustedDomainObject) { Widget trustedWidget; if (trustedDomainObject) { trustedWidget = widget; } else { trustedWidget = getTrustedWidget(widget.getId(), trustedWidgetContainer); } return WidgetStatus.PUBLISHED.equals(trustedWidget.getWidgetStatus()); }