/modules/apps/export-import/export-import-web/src/main/java/com/liferay/exportimport/web/internal/display/context/ExportTemplatesToolbarDisplayContext.java

https://github.com/kiyoshilee/liferay-portal · Java · 162 lines · 115 code · 30 blank · 17 comment · 0 complexity · ae7ceb6fd04e2f426a4f4821ad896b1e MD5 · raw file

  1. /**
  2. * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
  3. *
  4. * This library is free software; you can redistribute it and/or modify it under
  5. * the terms of the GNU Lesser General Public License as published by the Free
  6. * Software Foundation; either version 2.1 of the License, or (at your option)
  7. * any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  11. * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
  12. * details.
  13. */
  14. package com.liferay.exportimport.web.internal.display.context;
  15. import com.liferay.exportimport.kernel.configuration.ExportImportConfigurationConstants;
  16. import com.liferay.exportimport.kernel.model.ExportImportConfiguration;
  17. import com.liferay.exportimport.kernel.service.ExportImportConfigurationLocalServiceUtil;
  18. import com.liferay.exportimport.util.comparator.ExportImportConfigurationNameComparator;
  19. import com.liferay.exportimport.web.internal.search.ExportImportConfigurationDisplayTerms;
  20. import com.liferay.exportimport.web.internal.search.ExportImportConfigurationSearchTerms;
  21. import com.liferay.frontend.taglib.clay.servlet.taglib.display.context.BaseManagementToolbarDisplayContext;
  22. import com.liferay.frontend.taglib.clay.servlet.taglib.util.CreationMenu;
  23. import com.liferay.portal.kernel.dao.search.SearchContainer;
  24. import com.liferay.portal.kernel.language.LanguageUtil;
  25. import com.liferay.portal.kernel.model.Company;
  26. import com.liferay.portal.kernel.portlet.LiferayPortletRequest;
  27. import com.liferay.portal.kernel.portlet.LiferayPortletResponse;
  28. import com.liferay.portal.kernel.util.Constants;
  29. import com.liferay.portlet.layoutsadmin.display.context.GroupDisplayContextHelper;
  30. import java.util.List;
  31. import java.util.Objects;
  32. import javax.portlet.PortletURL;
  33. import javax.servlet.http.HttpServletRequest;
  34. /**
  35. * @author Péter Alius
  36. * @author Péter Borkuti
  37. */
  38. public class ExportTemplatesToolbarDisplayContext
  39. extends BaseManagementToolbarDisplayContext {
  40. public ExportTemplatesToolbarDisplayContext(
  41. HttpServletRequest httpServletRequest,
  42. LiferayPortletRequest liferayPortletRequest,
  43. LiferayPortletResponse liferayPortletResponse, long liveGroupId,
  44. Company company, PortletURL iteratorURL) {
  45. super(
  46. httpServletRequest, liferayPortletRequest, liferayPortletResponse);
  47. searchContainer = _createSearchContainer(
  48. liveGroupId, company, iteratorURL);
  49. }
  50. @Override
  51. public String getClearResultsURL() {
  52. PortletURL clearResultsURL = getRenderURL();
  53. clearResultsURL.setParameter(
  54. "mvcPath", "/export/export_templates/view.jsp");
  55. return clearResultsURL.toString();
  56. }
  57. @Override
  58. public CreationMenu getCreationMenu() {
  59. return new CreationMenu() {
  60. {
  61. GroupDisplayContextHelper groupDisplayContextHelper =
  62. new GroupDisplayContextHelper(request);
  63. addPrimaryDropdownItem(
  64. dropdownItem -> {
  65. dropdownItem.setHref(
  66. getRenderURL(), "mvcRenderCommandName",
  67. "editExportConfiguration", Constants.CMD,
  68. Constants.ADD, "groupId",
  69. groupDisplayContextHelper.getGroupId(),
  70. "liveGroupId",
  71. groupDisplayContextHelper.getLiveGroupId(),
  72. "privateLayout", Boolean.FALSE.toString());
  73. dropdownItem.setLabel(LanguageUtil.get(request, "new"));
  74. });
  75. }
  76. };
  77. }
  78. @Override
  79. public int getItemsTotal() {
  80. return searchContainer.getTotal();
  81. }
  82. @Override
  83. public String getSearchActionURL() {
  84. PortletURL searchActionURL = getRenderURL();
  85. searchActionURL.setParameter(
  86. "mvcRenderCommandName", "viewExportConfigurations");
  87. return searchActionURL.toString();
  88. }
  89. public SearchContainer getSearchContainer() {
  90. return searchContainer;
  91. }
  92. protected PortletURL getRenderURL() {
  93. return liferayPortletResponse.createRenderURL();
  94. }
  95. protected SearchContainer searchContainer;
  96. private SearchContainer _createSearchContainer(
  97. long liveGroupId, Company company, PortletURL iteratorURL) {
  98. ExportImportConfigurationSearchTerms
  99. exportImportConfigurationSearchTerms =
  100. new ExportImportConfigurationSearchTerms(liferayPortletRequest);
  101. SearchContainer searchContainer = new SearchContainer(
  102. liferayPortletRequest,
  103. new ExportImportConfigurationDisplayTerms(liferayPortletRequest),
  104. exportImportConfigurationSearchTerms,
  105. SearchContainer.DEFAULT_CUR_PARAM, SearchContainer.DEFAULT_DELTA,
  106. iteratorURL, null, "there-are-no-saved-export-templates");
  107. searchContainer.setOrderByCol("name");
  108. searchContainer.setOrderByComparator(
  109. new ExportImportConfigurationNameComparator(
  110. Objects.equals(getOrderByType(), "asc")));
  111. searchContainer.setOrderByType(getOrderByType());
  112. int exportImportConfigurationType =
  113. ExportImportConfigurationConstants.TYPE_EXPORT_LAYOUT;
  114. List<ExportImportConfiguration> results =
  115. ExportImportConfigurationLocalServiceUtil.
  116. getExportImportConfigurations(
  117. company.getCompanyId(), liveGroupId,
  118. exportImportConfigurationSearchTerms.getKeywords(),
  119. exportImportConfigurationType, searchContainer.getStart(),
  120. searchContainer.getEnd(),
  121. searchContainer.getOrderByComparator());
  122. int total =
  123. ExportImportConfigurationLocalServiceUtil.
  124. getExportImportConfigurationsCount(
  125. company.getCompanyId(), liveGroupId,
  126. exportImportConfigurationSearchTerms.getKeywords(),
  127. exportImportConfigurationType);
  128. searchContainer.setResults(results);
  129. searchContainer.setTotal(total);
  130. return searchContainer;
  131. }
  132. }