List of usage examples for com.liferay.portal.kernel.dao.search RowChecker RowChecker
public RowChecker(PortletResponse portletResponse)
From source file:com.liferay.content.targeting.portlet.ContentTargetingPortlet.java
License:Open Source License
protected void populateViewContext(String path, PortletRequest portletRequest, PortletResponse portletResponse, Template template, TemplateHashModel staticModels) throws Exception { HttpServletRequest request = PortalUtil.getHttpServletRequest(portletRequest); ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY); if (Validator.isNull(path) || path.equals(ContentTargetingPath.VIEW) || path.equals(ContentTargetingPath.VIEW_CAMPAIGNS_RESOURCES) || path.equals(ContentTargetingPath.VIEW_USER_SEGMENTS_RESOURCES)) { template.put("actionKeys", staticModels.get(ActionKeys.class.getName())); template.put("campaignPermission", staticModels.get(CampaignPermission.class.getName())); template.put("contentTargetingPermission", staticModels.get(ContentTargetingPermission.class.getName())); template.put("userSegmentPermission", staticModels.get(UserSegmentPermission.class.getName())); PermissionChecker permissionChecker = (PermissionChecker) template.get("permissionChecker"); long scopeGroupId = (Long) template.get("scopeGroupId"); if (UserSegmentPermission.contains(permissionChecker, scopeGroupId, scopeGroupId, ActionKeys.DELETE)) { template.put("userSegmentsRowChecker", new RowChecker(portletResponse)); }// w w w . j a v a 2 s . c o m if (CampaignPermission.contains(permissionChecker, scopeGroupId, scopeGroupId, ActionKeys.DELETE)) { template.put("campaignsRowChecker", new RowChecker(portletResponse)); } String keywords = ParamUtil.getString(portletRequest, "keywords"); template.put("campaignSearchContainerIterator", new CampaignSearchContainerIterator(scopeGroupId, keywords)); template.put("userSegmentSearchContainerIterator", new UserSegmentSearchContainerIterator(scopeGroupId, keywords)); } else if (path.equals(ContentTargetingPath.EDIT_CAMPAIGN)) { long campaignId = ParamUtil.getLong(portletRequest, "campaignId"); template.put("campaignId", campaignId); int priority = 1; long userSegmentId = -1; Calendar endDate = Calendar.getInstance(); Calendar startDate = Calendar.getInstance(); if (campaignId > 0) { Campaign campaign = _campaignLocalService.getCampaign(campaignId); template.put("campaign", campaign); List<UserSegment> campaignUserSegments = _userSegmentLocalService .getCampaignUserSegments(campaignId); priority = campaign.getPriority(); // Initially, only one user segment per campaign is supported if ((campaignUserSegments != null) && !campaignUserSegments.isEmpty()) { UserSegment campaignUserSegment = campaignUserSegments.get(0); userSegmentId = campaignUserSegment.getUserSegmentId(); } endDate.setTime(campaign.getEndDate()); startDate.setTime(campaign.getStartDate()); } else { Date now = new Date(); endDate.setTime(now); endDate.add(Calendar.DATE, 1); startDate.setTime(now); } template.put("endDate", endDate); template.put("priority", priority); template.put("startDate", startDate); template.put("userSegmentId", userSegmentId); long[] groupIds = ContentTargetingUtil.getAncestorsAndCurrentGroupIds(themeDisplay.getScopeGroupId()); List<UserSegment> userSegments = _userSegmentService.getUserSegments(groupIds); template.put("userSegments", userSegments); template.put("trackingActionsRegistry", _trackingActionsRegistry); Map<String, TrackingAction> trackingActions = _trackingActionsRegistry.getTrackingActions(); boolean isolated = themeDisplay.isIsolated(); try { themeDisplay.setIsolated(true); template.put("trackingActions", trackingActions.values()); List<TrackingActionInstance> trackingActionInstances = getTrackingActionsFromRequest(portletRequest, portletResponse); if (trackingActionInstances.isEmpty() && (campaignId > 0)) { trackingActionInstances = _trackingActionInstanceService.getTrackingActionInstances(campaignId); } List<TrackingActionTemplate> addedTrackingActionTemplates = new ArrayList<TrackingActionTemplate>(); if (!trackingActionInstances.isEmpty()) { template.put("trackingActionInstances", trackingActionInstances); InvalidTrackingActionsException itae = getInvalidTrackingActionsException(portletRequest); for (TrackingActionInstance instance : trackingActionInstances) { TrackingAction trackingAction = _trackingActionsRegistry .getTrackingAction(instance.getTrackingActionKey()); if (trackingAction == null) { continue; } TrackingActionTemplate trackingActionTemplate = new TrackingActionTemplate(); if (instance.getTrackingActionInstanceId() > 0) { trackingActionTemplate .setInstanceId(String.valueOf(instance.getTrackingActionInstanceId())); } else { trackingActionTemplate.setInstanceId(instance.getTrackingActionGuid()); } trackingActionTemplate.setTrackingAction(trackingAction); String html = getTrackingActionHtml(trackingAction, instance, template, instance.getValues(), itae.getExceptions(instance.getTrackingActionGuid())); trackingActionTemplate.setTemplate(HtmlUtil.escapeAttribute(html)); addedTrackingActionTemplates.add(trackingActionTemplate); } } template.put("addedTrackingActionTemplates", addedTrackingActionTemplates); List<TrackingActionTemplate> trackingActionTemplates = new ArrayList<TrackingActionTemplate>(); for (TrackingAction trackingAction : trackingActions.values()) { TrackingActionTemplate trackingActionTemplate = new TrackingActionTemplate(); trackingActionTemplate.setTrackingAction(trackingAction); String html = getTrackingActionHtml(trackingAction, null, template, null, null); trackingActionTemplate.setTemplate(HtmlUtil.escapeAttribute(html)); trackingActionTemplates.add(trackingActionTemplate); } template.put("trackingActionTemplates", trackingActionTemplates); } finally { themeDisplay.setIsolated(isolated); } } else if (path.equals(ContentTargetingPath.EDIT_USER_SEGMENT)) { long userSegmentId = ParamUtil.getLong(portletRequest, "userSegmentId"); template.put("ruleCategoriesRegistry", _ruleCategoriesRegistry); template.put("rulesRegistry", _rulesRegistry); template.put("userSegmentId", userSegmentId); Map<String, Rule> rules = _rulesRegistry.getRules(); boolean isolated = themeDisplay.isIsolated(); try { themeDisplay.setIsolated(true); template.put("rules", rules.values()); List<RuleInstance> ruleInstances = getRulesFromRequest(portletRequest, portletResponse); if (ruleInstances.isEmpty() && (userSegmentId > 0)) { ruleInstances = _ruleInstanceService.getRuleInstances(userSegmentId); } List<RuleTemplate> addedRuleTemplates = new ArrayList<RuleTemplate>(); if (!ruleInstances.isEmpty()) { template.put("ruleInstances", ruleInstances); InvalidRulesException ire = getInvalidRulesException(portletRequest); for (RuleInstance ruleInstance : ruleInstances) { Rule rule = _rulesRegistry.getRule(ruleInstance.getRuleKey()); if (rule == null) { continue; } RuleTemplate ruleTemplate = new RuleTemplate(); if (ruleInstance.getRuleInstanceId() > 0) { ruleTemplate.setInstanceId(String.valueOf(ruleInstance.getRuleInstanceId())); } else { ruleTemplate.setInstanceId(ruleInstance.getRuleGuid()); } ruleTemplate.setRule(rule); String html = getRuleHtml(rule, ruleInstance, template, ruleInstance.getValues(), ire.getRuleExceptions(ruleInstance.getRuleGuid())); ruleTemplate.setTemplate(HtmlUtil.escapeAttribute(html)); addedRuleTemplates.add(ruleTemplate); } } template.put("addedRuleTemplates", addedRuleTemplates); if (userSegmentId > 0) { UserSegment userSegment = _userSegmentLocalService.getUserSegment(userSegmentId); template.put("userSegment", userSegment); } List<RuleTemplate> ruleTemplates = new ArrayList<RuleTemplate>(); for (Rule rule : rules.values()) { RuleTemplate ruleTemplate = new RuleTemplate(); ruleTemplate.setRule(rule); String html = getRuleHtml(rule, null, template, null, null); ruleTemplate.setTemplate(HtmlUtil.escapeAttribute(html)); ruleTemplates.add(ruleTemplate); } template.put("ruleTemplates", ruleTemplates); } finally { themeDisplay.setIsolated(isolated); } } else if (path.equals(ContentTargetingPath.VIEW_REPORT) || path.equals(ContentTargetingPath.VIEW_REPORTS)) { String className = ParamUtil.getString(portletRequest, "className"); long classPK = ParamUtil.getLong(portletRequest, "classPK"); template.put("className", className); template.put("classPK", classPK); template.put("reportInstanceService", _reportInstanceService); String name = StringPool.BLANK; if (className.equals(Campaign.class.getName())) { Campaign campaign = _campaignLocalService.getCampaign(classPK); name = campaign.getName(themeDisplay.getLocale()); BreadcrumbUtil.addPortletBreadcrumbEntries(request, (RenderResponse) portletResponse, campaign); } else if (className.equals(UserSegment.class.getName())) { UserSegment userSegment = _userSegmentLocalService.getUserSegment(classPK); name = userSegment.getName(themeDisplay.getLocale()); BreadcrumbUtil.addPortletBreadcrumbEntries(request, (RenderResponse) portletResponse, userSegment); } if (path.equals(ContentTargetingPath.VIEW_REPORT)) { template.put("name", name); String reportKey = ParamUtil.getString(portletRequest, "reportKey"); Report report = _reportsRegistry.getReport(reportKey); template.put("report", report); template.put("reportHtml", report.getHTML(cloneTemplateContext(template))); BreadcrumbUtil.addPortletBreadcrumbEntries(request, (RenderResponse) portletResponse, report); } if (path.equals(ContentTargetingPath.VIEW_REPORTS)) { PortletConfig portletConfig = (PortletConfig) portletRequest .getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG); String title = LanguageUtil.format(portletConfig, themeDisplay.getLocale(), "reports-for-the-x-x", new Object[] { ResourceActionsUtil.getModelResource(themeDisplay.getLocale(), className), name }); template.put("title", title); template.put("reportSearchContainerIterator", new ReportSearchContainerIterator(themeDisplay.getScopeGroupId(), null, className)); } } }