001
014
015 package com.liferay.portlet.portletdisplaytemplate.ddm;
016
017 import com.liferay.portal.kernel.language.LanguageUtil;
018 import com.liferay.portal.kernel.portlet.LiferayPortletRequest;
019 import com.liferay.portal.kernel.portlet.LiferayPortletResponse;
020 import com.liferay.portal.kernel.template.TemplateHandler;
021 import com.liferay.portal.kernel.template.TemplateHandlerRegistryUtil;
022 import com.liferay.portal.kernel.util.ParamUtil;
023 import com.liferay.portal.kernel.util.SetUtil;
024 import com.liferay.portal.kernel.util.StringPool;
025 import com.liferay.portal.kernel.util.Validator;
026 import com.liferay.portal.security.permission.ActionKeys;
027 import com.liferay.portal.theme.ThemeDisplay;
028 import com.liferay.portal.util.PortalUtil;
029 import com.liferay.portal.util.PortletKeys;
030 import com.liferay.portlet.dynamicdatamapping.model.DDMStructure;
031 import com.liferay.portlet.dynamicdatamapping.model.DDMTemplate;
032 import com.liferay.portlet.dynamicdatamapping.model.DDMTemplateConstants;
033 import com.liferay.portlet.dynamicdatamapping.util.BaseDDMDisplay;
034 import com.liferay.portlet.portletdisplaytemplate.util.PortletDisplayTemplateUtil;
035
036 import java.util.Locale;
037 import java.util.Set;
038
039
042 public class PortletDisplayTemplateDDMDisplay extends BaseDDMDisplay {
043
044 @Override
045 public String getAddTemplateActionId() {
046 return ActionKeys.ADD_PORTLET_DISPLAY_TEMPLATE;
047 }
048
049 @Override
050 public String getEditTemplateBackURL(
051 LiferayPortletRequest liferayPortletRequest,
052 LiferayPortletResponse liferayPortletResponse, long classNameId,
053 long classPK, String portletResource)
054 throws Exception {
055
056 String redirect = ParamUtil.getString(
057 liferayPortletRequest, "redirect");
058
059 if (Validator.isNull(redirect)) {
060 return getViewTemplatesURL(
061 liferayPortletRequest, liferayPortletResponse, classNameId,
062 classPK);
063 }
064
065 return redirect;
066 }
067
068 @Override
069 public String getPortletId() {
070 return PortletKeys.PORTLET_DISPLAY_TEMPLATES;
071 }
072
073 @Override
074 public String getResourceName() {
075 return StringPool.BLANK;
076 }
077
078 @Override
079 public long[] getTemplateClassPKs(
080 long companyId, long classNameId, long classPK)
081 throws Exception {
082
083 return null;
084 }
085
086 @Override
087 public long[] getTemplateGroupIds(
088 ThemeDisplay themeDisplay, boolean includeAncestorTemplates)
089 throws Exception {
090
091 if (includeAncestorTemplates) {
092 return PortalUtil.getCurrentAndAncestorSiteGroupIds(
093 themeDisplay.getScopeGroupId());
094 }
095
096 return new long[] {
097 PortletDisplayTemplateUtil.getDDMTemplateGroupId(
098 themeDisplay.getScopeGroupId())
099 };
100 }
101
102 @Override
103 public String getTemplateType() {
104 return DDMTemplateConstants.TEMPLATE_TYPE_DISPLAY;
105 }
106
107 @Override
108 public String getTemplateType(DDMTemplate template, Locale locale) {
109 TemplateHandler templateHandler =
110 TemplateHandlerRegistryUtil.getTemplateHandler(
111 template.getClassNameId());
112
113 return templateHandler.getName(locale);
114 }
115
116 @Override
117 public String getViewTemplatesBackURL(
118 LiferayPortletRequest liferayPortletRequest,
119 LiferayPortletResponse liferayPortletResponse, long classPK)
120 throws Exception {
121
122 return StringPool.BLANK;
123 }
124
125 @Override
126 public Set<String> getViewTemplatesExcludedColumnNames() {
127 return _viewTemplateExcludedColumnNames;
128 }
129
130 @Override
131 public String getViewTemplatesTitle(
132 DDMStructure structure, boolean controlPanel, boolean search,
133 Locale locale) {
134
135 if (search) {
136 return LanguageUtil.get(locale, "templates");
137 }
138
139 if (controlPanel) {
140 return StringPool.BLANK;
141 }
142
143 return super.getViewTemplatesTitle(
144 structure, controlPanel, search, locale);
145 }
146
147 @Override
148 protected String getDefaultEditTemplateTitle(Locale locale) {
149 return LanguageUtil.get(locale, "new-application-display-template");
150 }
151
152 @Override
153 protected String getDefaultViewTemplateTitle(Locale locale) {
154 return LanguageUtil.get(locale, "application-display-templates");
155 }
156
157 private static final Set<String> _viewTemplateExcludedColumnNames =
158 SetUtil.fromArray(new String[] {"language", "mode", "structure"});
159
160 }