List of usage examples for com.liferay.portal.kernel.util WebKeys THEME_DISPLAY
String THEME_DISPLAY
To view the source code for com.liferay.portal.kernel.util WebKeys THEME_DISPLAY.
Click Source Link
From source file:com.liferay.content.targeting.rule.visited.PageVisitedRule.java
License:Open Source License
@Override public String processRule(PortletRequest request, PortletResponse response, String id, Map<String, String> values) throws InvalidRuleException { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); String friendlyURL = values.get("friendlyURL"); try {/*from w w w . j ava 2 s .c o m*/ Layout layout = LayoutLocalServiceUtil.fetchLayoutByFriendlyURL(themeDisplay.getScopeGroupId(), false, friendlyURL); if (layout == null) { layout = LayoutLocalServiceUtil.fetchLayoutByFriendlyURL(themeDisplay.getScopeGroupId(), true, friendlyURL); } if (layout != null) { return String.valueOf(layout.getPlid()); } else { throw new InvalidRuleException("a-page-with-this-friendly-url-could-not-be-found"); } } catch (SystemException e) { } return StringPool.BLANK; }
From source file:com.liferay.content.targeting.tracking.action.page.PageTrackingAction.java
License:Open Source License
@Override public String processTrackingAction(PortletRequest request, PortletResponse response, String id, Map<String, String> values) throws InvalidTrackingActionException { String friendlyURL = values.get("friendlyURL"); if (Validator.isNotNull(friendlyURL)) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = _getLayout(themeDisplay.getScopeGroupId(), friendlyURL); if (layout != null) { values.put("referrerClassName", Layout.class.getName()); values.put("referrerClassPK", String.valueOf(layout.getPlid())); JSONObject jsonObj = JSONFactoryUtil.createJSONObject(); jsonObj.put("friendlyURL", friendlyURL); return jsonObj.toString(); } else {// w w w . j a va 2s . co m throw new InvalidTrackingActionException("a-page-with-this-friendly-url-could-not-be-found"); } } return StringPool.BLANK; }
From source file:com.liferay.contenttargeting.portlet.ContentTargetingPortlet.java
License:Open Source License
public void updateCampaign(ActionRequest request, ActionResponse response) throws Exception { long campaignId = ParamUtil.getLong(request, "campaignId"); Map<Locale, String> nameMap = LocalizationUtil.getLocalizationMap(request, "name"); Map<Locale, String> descriptionMap = LocalizationUtil.getLocalizationMap(request, "description"); Date startDate = _getDate(request, "startDate"); Date endDate = _getDate(request, "endDate"); int priority = ParamUtil.getInteger(request, "priority"); boolean active = ParamUtil.getBoolean(request, "active"); // Initially, only one user segment per campaign is supported long[] userSegmentIds = null; long userSegmentId = ParamUtil.getLong(request, "userSegmentId"); if (userSegmentId > 0) { userSegmentIds = new long[] { userSegmentId }; }/*from ww w . j a va 2 s. c o m*/ ServiceContext serviceContext = ServiceContextFactory.getInstance(UserSegment.class.getName(), request); ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); try { Campaign campaign = null; if (campaignId > 0) { campaign = _campaignService.updateCampaign(campaignId, nameMap, descriptionMap, startDate, endDate, priority, active, userSegmentIds, serviceContext); } else { campaign = _campaignService.addCampaign(themeDisplay.getUserId(), nameMap, descriptionMap, startDate, endDate, priority, active, userSegmentIds, serviceContext); } updateTrackingActions(campaign.getCampaignId(), request, response); sendRedirect(request, response); } catch (Exception e) { SessionErrors.add(request, e.getClass().getName()); if (e instanceof PrincipalException) { response.setRenderParameter("mvcPath", ContentTargetingPath.EDIT_CAMPAIGN); } else { response.setRenderParameter("mvcPath", ContentTargetingPath.ERROR); } } }
From source file:com.liferay.contenttargeting.portlet.ContentTargetingPortlet.java
License:Open Source License
public void updateUserSegment(ActionRequest request, ActionResponse response) throws Exception { long userSegmentId = ParamUtil.getLong(request, "userSegmentId"); Map<Locale, String> nameMap = LocalizationUtil.getLocalizationMap(request, "name"); Map<Locale, String> descriptionMap = LocalizationUtil.getLocalizationMap(request, "description"); ServiceContext serviceContext = ServiceContextFactory.getInstance(UserSegment.class.getName(), request); ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); UserSegment userSegment = null;/*from w ww. j a v a 2 s . co m*/ try { if (userSegmentId > 0) { userSegment = _userSegmentService.updateUserSegment(userSegmentId, nameMap, descriptionMap, serviceContext); } else { userSegment = _userSegmentService.addUserSegment(themeDisplay.getUserId(), nameMap, descriptionMap, serviceContext); } updateRules(userSegment.getUserSegmentId(), request, response); sendRedirect(request, response); } catch (Exception e) { SessionErrors.add(request, e.getClass().getName()); if (e instanceof PrincipalException) { response.setRenderParameter("mvcPath", ContentTargetingPath.EDIT_USER_SEGMENT); } else { response.setRenderParameter("mvcPath", ContentTargetingPath.ERROR); } } }
From source file:com.liferay.contenttargeting.portlet.ContentTargetingPortlet.java
License:Open Source License
protected void populateViewContext(String path, PortletRequest portletRequest, PortletResponse portletResponse, Template template, TemplateHashModel staticModels) throws Exception { 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("com.liferay.contenttargeting.util.ActionKeys")); template.put("campaignPermission", staticModels.get("com.liferay.contenttargeting.service.permission." + "CampaignPermission")); template.put("contentTargetingPermission", staticModels .get("com.liferay.contenttargeting.service.permission." + "ContentTargetingPermission")); template.put("userSegmentPermission", staticModels.get("com.liferay.contenttargeting.service.permission." + "UserSegmentPermission")); String keywords = ParamUtil.getString(portletRequest, "keywords"); template.put("campaignSearchContainerIterator", new CampaignSearchContainerIterator(themeDisplay.getScopeGroupId(), keywords)); template.put("userSegmentSearchContainerIterator", new UserSegmentSearchContainerIterator(themeDisplay.getScopeGroupId(), keywords)); template.put("usedUserSegmentExceptionClass", UsedUserSegmentException.class); } else if (path.equals(ContentTargetingPath.EDIT_CAMPAIGN) || path.equals(ContentTargetingPath.VIEW_CAMPAIGN_REPORTS)) { long campaignId = ParamUtil.getLong(portletRequest, "campaignId"); template.put("campaignId", campaignId); int priority = 1; long userSegmentId = -1; 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(); }//from www . ja va 2 s . c o m } template.put("priority", priority); 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()); if (campaignId > 0) { List<TrackingActionInstance> instances = _trackingActionInstanceService .getTrackingActionInstances(campaignId); template.put("trackingActionInstances", instances); List<TrackingActionTemplate> addedTrackingActionTemplates = new ArrayList<TrackingActionTemplate>(); for (TrackingActionInstance instance : instances) { TrackingAction trackingAction = _trackingActionsRegistry .getTrackingAction(instance.getTrackingActionKey()); TrackingActionTemplate trackingActionTemplate = new TrackingActionTemplate(); String html = trackingAction.getFormHTML(instance, _cloneTemplateContext(template)); trackingActionTemplate.setInstanceId(instance.getTrackingActionInstanceId()); trackingActionTemplate.setTrackingAction(trackingAction); 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(); String html = trackingAction.getFormHTML(null, _cloneTemplateContext(template)); trackingActionTemplate.setTrackingAction(trackingAction); trackingActionTemplate.setTemplate(HtmlUtil.escapeAttribute(html)); trackingActionTemplates.add(trackingActionTemplate); } template.put("trackingActionTemplates", trackingActionTemplates); if (path.equals(ContentTargetingPath.VIEW_CAMPAIGN_REPORTS)) { template.put("tabs2", ParamUtil.getString(portletRequest, "tabs2")); Map<String, Report> campaignReports = _reportsRegistry.getReports(Campaign.class.getName()); List<ReportTemplate> campaignReportsTemplates = new ArrayList<ReportTemplate>(); for (Report report : campaignReports.values()) { ReportTemplate reportTemplate = new ReportTemplate(); String html = report.getHTML(_cloneTemplateContext(template)); reportTemplate.setReport(report); reportTemplate.setTemplate(html); campaignReportsTemplates.add(reportTemplate); } template.put("campaignReportsTabNames", ListUtil.toString(campaignReportsTemplates, "name")); template.put("campaignReportsTemplates", campaignReportsTemplates); } } finally { themeDisplay.setIsolated(isolated); } } else if (path.equals(ContentTargetingPath.EDIT_USER_SEGMENT) || path.equals(ContentTargetingPath.VIEW_USER_SEGMENT_REPORTS)) { long userSegmentId = ParamUtil.getLong(portletRequest, "userSegmentId"); template.put("userSegmentId", userSegmentId); template.put("rulesRegistry", _rulesRegistry); Map<String, Rule> rules = _rulesRegistry.getRules(); boolean isolated = themeDisplay.isIsolated(); try { themeDisplay.setIsolated(true); template.put("rules", rules.values()); if (userSegmentId > 0) { List<RuleInstance> ruleInstances = _ruleInstanceService.getRuleInstances(userSegmentId); template.put("ruleInstances", ruleInstances); List<RuleTemplate> addedRuleTemplates = new ArrayList<RuleTemplate>(); for (RuleInstance ruleInstance : ruleInstances) { Rule rule = _rulesRegistry.getRule(ruleInstance.getRuleKey()); RuleTemplate ruleTemplate = new RuleTemplate(); String html = rule.getFormHTML(ruleInstance, _cloneTemplateContext(template)); ruleTemplate.setInstanceId(ruleInstance.getRuleInstanceId()); ruleTemplate.setRule(rule); ruleTemplate.setTemplate(HtmlUtil.escapeAttribute(html)); addedRuleTemplates.add(ruleTemplate); } template.put("addedRuleTemplates", addedRuleTemplates); UserSegment userSegment = _userSegmentLocalService.getUserSegment(userSegmentId); template.put("userSegment", userSegment); } List<RuleTemplate> ruleTemplates = new ArrayList<RuleTemplate>(); for (Rule rule : rules.values()) { RuleTemplate ruleTemplate = new RuleTemplate(); String html = rule.getFormHTML(null, _cloneTemplateContext(template)); ruleTemplate.setRule(rule); ruleTemplate.setTemplate(HtmlUtil.escapeAttribute(html)); ruleTemplates.add(ruleTemplate); } template.put("ruleTemplates", ruleTemplates); if (path.equals(ContentTargetingPath.VIEW_USER_SEGMENT_REPORTS)) { template.put("tabs2", ParamUtil.getString(portletRequest, "tabs2")); Map<String, Report> userSegmentReports = _reportsRegistry .getReports(UserSegment.class.getName()); List<ReportTemplate> userSegmentReportsTemplates = new ArrayList<ReportTemplate>(); for (Report report : userSegmentReports.values()) { ReportTemplate reportTemplate = new ReportTemplate(); String html = report.getHTML(_cloneTemplateContext(template)); reportTemplate.setReport(report); reportTemplate.setTemplate(html); userSegmentReportsTemplates.add(reportTemplate); } template.put("userSegmentReportsTabNames", ListUtil.toString(userSegmentReportsTemplates, "name")); template.put("userSegmentReportsTemplates", userSegmentReportsTemplates); } } finally { themeDisplay.setIsolated(isolated); } } }
From source file:com.liferay.contenttargeting.portlet.ContentTargetingPortlet.java
License:Open Source License
protected void updateRules(long userSegmentId, ActionRequest request, ActionResponse response) throws Exception { String userSegmentRules = ParamUtil.getString(request, "userSegmentRules"); if (Validator.isNull(userSegmentRules)) { return;//from w ww .j av a 2s .c om } ServiceContext serviceContext = ServiceContextFactory.getInstance(RuleInstance.class.getName(), request); ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); JSONObject jSONObject = JSONFactoryUtil.createJSONObject(userSegmentRules); String rules = jSONObject.getString("fields"); JSONArray jSONArray = JSONFactoryUtil.createJSONArray(rules); List<RuleInstance> ruleInstances = ListUtil.copy(_ruleInstanceService.getRuleInstances(userSegmentId)); for (int i = 0; i < jSONArray.length(); i++) { JSONObject jSONObjectRule = jSONArray.getJSONObject(i); long ruleInstanceId = 0; String type = jSONObjectRule.getString("type"); if (type.contains(StringPool.UNDERLINE)) { String[] ids = type.split(StringPool.UNDERLINE); ruleInstanceId = GetterUtil.getLong(ids[1]); type = ids[0]; } Rule rule = _rulesRegistry.getRule(type); String id = jSONObjectRule.getString("id"); Map<String, String> ruleValues = getJSONValues(jSONObjectRule.getJSONArray("data"), response.getNamespace(), id); String typeSettings = rule.processRule(request, response, id, ruleValues); try { if (ruleInstanceId > 0) { RuleInstance ruleInstance = _ruleInstanceService.updateRuleInstance(ruleInstanceId, typeSettings, serviceContext); ruleInstances.remove(ruleInstance); } else { _ruleInstanceService.addRuleInstance(themeDisplay.getUserId(), type, userSegmentId, typeSettings, serviceContext); } } catch (Exception e) { _log.error("Cannot update rule", e); } } // Delete removed rules for (RuleInstance ruleInstance : ruleInstances) { _ruleInstanceService.deleteRuleInstance(ruleInstance.getRuleInstanceId()); } }
From source file:com.liferay.contenttargeting.portlet.ContentTargetingPortlet.java
License:Open Source License
protected void updateTrackingActions(long campaignId, ActionRequest request, ActionResponse response) throws Exception { String campaignTrackingActions = ParamUtil.getString(request, "campaignTrackingActions"); if (Validator.isNull(campaignTrackingActions)) { return;/*from w w w. j a va 2 s.c o m*/ } ServiceContext serviceContext = ServiceContextFactory.getInstance(TrackingActionInstance.class.getName(), request); ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); JSONObject jSONObject = JSONFactoryUtil.createJSONObject(campaignTrackingActions); String trackingActions = jSONObject.getString("fields"); JSONArray jSONArray = JSONFactoryUtil.createJSONArray(trackingActions); List<TrackingActionInstance> trackingActionInstances = ListUtil .copy(_trackingActionInstanceService.getTrackingActionInstances(campaignId)); for (int i = 0; i < jSONArray.length(); i++) { JSONObject jSONObjectTrackingAction = jSONArray.getJSONObject(i); long trackingActionInstanceId = 0; String type = jSONObjectTrackingAction.getString("type"); if (type.contains(StringPool.UNDERLINE)) { String[] ids = type.split(StringPool.UNDERLINE); trackingActionInstanceId = GetterUtil.getLong(ids[1]); type = ids[0]; } TrackingAction trackingAction = _trackingActionsRegistry.getTrackingAction(type); String id = jSONObjectTrackingAction.getString("id"); Map<String, String> trackingActionValues = getJSONValues(jSONObjectTrackingAction.getJSONArray("data"), response.getNamespace(), id); String typeSettings = trackingAction.processTrackingAction(request, response, id, trackingActionValues); String alias = trackingActionValues.get("alias"); String referrerClassName = trackingActionValues.get("referrerClassName"); long referrerClassPK = GetterUtil.getLong(trackingActionValues.get("referrerClassPK")); String elementId = trackingActionValues.get("elementId"); String eventType = trackingActionValues.get("eventType"); try { if (trackingActionInstanceId > 0) { TrackingActionInstance trackingActionInstance = _trackingActionInstanceService .updateTrackingActionInstance(trackingActionInstanceId, alias, referrerClassName, referrerClassPK, elementId, eventType, typeSettings, serviceContext); trackingActionInstances.remove(trackingActionInstance); } else { _trackingActionInstanceService.addTrackingActionInstance(themeDisplay.getUserId(), type, campaignId, alias, referrerClassName, referrerClassPK, elementId, eventType, typeSettings, serviceContext); } } catch (Exception e) { _log.error("Cannot update tracking action", e); } } // Delete removed Tracking Actions for (TrackingActionInstance trackingActionInstance : trackingActionInstances) { _trackingActionInstanceService .deleteTrackingActionInstance(trackingActionInstance.getTrackingActionInstanceId()); } }
From source file:com.liferay.contenttargeting.portlet.util.UserSegmentContentDisplayUtil.java
License:Open Source License
public static PortletURL getAssetBrowserURL(HttpServletRequest request, String className) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); PortletURL assetBrowserURL = PortletURLFactoryUtil.create(request, PortletKeys.ASSET_BROWSER, PortalUtil.getControlPanelPlid(themeDisplay.getCompanyId()), PortletRequest.RENDER_PHASE); assetBrowserURL.setParameter("struts_action", "/asset_browser/view"); assetBrowserURL.setParameter("groupId", String.valueOf(themeDisplay.getScopeGroupId())); assetBrowserURL.setParameter("selectedGroupIds", String.valueOf(themeDisplay.getScopeGroupId())); assetBrowserURL.setParameter("eventName", "selectContent"); assetBrowserURL.setParameter("typeSelection", className); assetBrowserURL.setPortletMode(PortletMode.VIEW); assetBrowserURL.setWindowState(LiferayWindowState.POP_UP); return assetBrowserURL; }
From source file:com.liferay.contenttargeting.portlet.util.UserSegmentContentDisplayUtil.java
License:Open Source License
public static Map<String, Object> getAssetSelectorIconData(HttpServletRequest request, AssetRendererFactory assetRendererFactory, String index) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); PortletURL assetBrowserURL = getAssetBrowserURL(request, assetRendererFactory.getClassName()); String typeName = assetRendererFactory.getTypeName(themeDisplay.getLocale(), false); Map<String, Object> data = new HashMap<String, Object>(); data.put("groupid", String.valueOf(themeDisplay.getScopeGroupId())); data.put("href", assetBrowserURL.toString()); data.put("index", index); data.put("title", LanguageUtil.format(themeDisplay.getLocale(), "select-x", typeName, false)); data.put("type", typeName); return data;/*from ww w . j a v a 2s .co m*/ }
From source file:com.liferay.ddlform.util.DDLFormUtil.java
License:Open Source License
public static boolean hasSubmitted(HttpServletRequest request, long recordSetId) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); List<DDLRecord> records = DDLRecordLocalServiceUtil.getRecords(recordSetId, themeDisplay.getUserId()); if (records.isEmpty()) { return false; }//from w ww. ja va 2s. c o m return true; }