/modules/dxp/apps/portal-workflow/portal-workflow-metrics-rest-client/src/main/java/com/liferay/portal/workflow/metrics/rest/client/resource/v1_0/IndexResource.java

https://github.com/vilmospapp/liferay-portal · Java · 372 lines · 265 code · 90 blank · 17 comment · 24 complexity · 11017436281a7913f833ee747e4959b2 MD5 · raw file

  1. /**
  2. * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
  3. *
  4. * The contents of this file are subject to the terms of the Liferay Enterprise
  5. * Subscription License ("License"). You may not use this file except in
  6. * compliance with the License. You can obtain a copy of the License by
  7. * contacting Liferay, Inc. See the License for the specific language governing
  8. * permissions and limitations under the License, including but not limited to
  9. * distribution rights of the Software.
  10. *
  11. *
  12. *
  13. */
  14. package com.liferay.portal.workflow.metrics.rest.client.resource.v1_0;
  15. import com.liferay.portal.workflow.metrics.rest.client.dto.v1_0.Index;
  16. import com.liferay.portal.workflow.metrics.rest.client.http.HttpInvoker;
  17. import com.liferay.portal.workflow.metrics.rest.client.pagination.Page;
  18. import com.liferay.portal.workflow.metrics.rest.client.problem.Problem;
  19. import com.liferay.portal.workflow.metrics.rest.client.serdes.v1_0.IndexSerDes;
  20. import java.util.LinkedHashMap;
  21. import java.util.Locale;
  22. import java.util.Map;
  23. import java.util.logging.Level;
  24. import java.util.logging.Logger;
  25. import javax.annotation.Generated;
  26. /**
  27. * @author Rafael Praxedes
  28. * @generated
  29. */
  30. @Generated("")
  31. public interface IndexResource {
  32. public static Builder builder() {
  33. return new Builder();
  34. }
  35. public Page<Index> getIndexesPage() throws Exception;
  36. public HttpInvoker.HttpResponse getIndexesPageHttpResponse()
  37. throws Exception;
  38. public void patchIndexesRefresh(Index index) throws Exception;
  39. public HttpInvoker.HttpResponse patchIndexesRefreshHttpResponse(Index index)
  40. throws Exception;
  41. public void patchIndexesReindex(Index index) throws Exception;
  42. public HttpInvoker.HttpResponse patchIndexesReindexHttpResponse(Index index)
  43. throws Exception;
  44. public static class Builder {
  45. public Builder authentication(String login, String password) {
  46. _login = login;
  47. _password = password;
  48. return this;
  49. }
  50. public IndexResource build() {
  51. return new IndexResourceImpl(this);
  52. }
  53. public Builder endpoint(String host, int port, String scheme) {
  54. _host = host;
  55. _port = port;
  56. _scheme = scheme;
  57. return this;
  58. }
  59. public Builder header(String key, String value) {
  60. _headers.put(key, value);
  61. return this;
  62. }
  63. public Builder locale(Locale locale) {
  64. _locale = locale;
  65. return this;
  66. }
  67. public Builder parameter(String key, String value) {
  68. _parameters.put(key, value);
  69. return this;
  70. }
  71. public Builder parameters(String... parameters) {
  72. if ((parameters.length % 2) != 0) {
  73. throw new IllegalArgumentException(
  74. "Parameters length is not an even number");
  75. }
  76. for (int i = 0; i < parameters.length; i += 2) {
  77. String parameterName = String.valueOf(parameters[i]);
  78. String parameterValue = String.valueOf(parameters[i + 1]);
  79. _parameters.put(parameterName, parameterValue);
  80. }
  81. return this;
  82. }
  83. private Builder() {
  84. }
  85. private Map<String, String> _headers = new LinkedHashMap<>();
  86. private String _host = "localhost";
  87. private Locale _locale;
  88. private String _login = "";
  89. private String _password = "";
  90. private Map<String, String> _parameters = new LinkedHashMap<>();
  91. private int _port = 8080;
  92. private String _scheme = "http";
  93. }
  94. public static class IndexResourceImpl implements IndexResource {
  95. public Page<Index> getIndexesPage() throws Exception {
  96. HttpInvoker.HttpResponse httpResponse =
  97. getIndexesPageHttpResponse();
  98. String content = httpResponse.getContent();
  99. if ((httpResponse.getStatusCode() / 100) != 2) {
  100. _logger.log(
  101. Level.WARNING,
  102. "Unable to process HTTP response content: " + content);
  103. _logger.log(
  104. Level.WARNING,
  105. "HTTP response message: " + httpResponse.getMessage());
  106. _logger.log(
  107. Level.WARNING,
  108. "HTTP response status code: " +
  109. httpResponse.getStatusCode());
  110. throw new Problem.ProblemException(Problem.toDTO(content));
  111. }
  112. else {
  113. _logger.fine("HTTP response content: " + content);
  114. _logger.fine(
  115. "HTTP response message: " + httpResponse.getMessage());
  116. _logger.fine(
  117. "HTTP response status code: " +
  118. httpResponse.getStatusCode());
  119. }
  120. try {
  121. return Page.of(content, IndexSerDes::toDTO);
  122. }
  123. catch (Exception e) {
  124. _logger.log(
  125. Level.WARNING,
  126. "Unable to process HTTP response: " + content, e);
  127. throw new Problem.ProblemException(Problem.toDTO(content));
  128. }
  129. }
  130. public HttpInvoker.HttpResponse getIndexesPageHttpResponse()
  131. throws Exception {
  132. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  133. if (_builder._locale != null) {
  134. httpInvoker.header(
  135. "Accept-Language", _builder._locale.toLanguageTag());
  136. }
  137. for (Map.Entry<String, String> entry :
  138. _builder._headers.entrySet()) {
  139. httpInvoker.header(entry.getKey(), entry.getValue());
  140. }
  141. for (Map.Entry<String, String> entry :
  142. _builder._parameters.entrySet()) {
  143. httpInvoker.parameter(entry.getKey(), entry.getValue());
  144. }
  145. httpInvoker.httpMethod(HttpInvoker.HttpMethod.GET);
  146. httpInvoker.path(
  147. _builder._scheme + "://" + _builder._host + ":" +
  148. _builder._port + "/o/portal-workflow-metrics/v1.0/indexes");
  149. httpInvoker.userNameAndPassword(
  150. _builder._login + ":" + _builder._password);
  151. return httpInvoker.invoke();
  152. }
  153. public void patchIndexesRefresh(Index index) throws Exception {
  154. HttpInvoker.HttpResponse httpResponse =
  155. patchIndexesRefreshHttpResponse(index);
  156. String content = httpResponse.getContent();
  157. if ((httpResponse.getStatusCode() / 100) != 2) {
  158. _logger.log(
  159. Level.WARNING,
  160. "Unable to process HTTP response content: " + content);
  161. _logger.log(
  162. Level.WARNING,
  163. "HTTP response message: " + httpResponse.getMessage());
  164. _logger.log(
  165. Level.WARNING,
  166. "HTTP response status code: " +
  167. httpResponse.getStatusCode());
  168. throw new Problem.ProblemException(Problem.toDTO(content));
  169. }
  170. else {
  171. _logger.fine("HTTP response content: " + content);
  172. _logger.fine(
  173. "HTTP response message: " + httpResponse.getMessage());
  174. _logger.fine(
  175. "HTTP response status code: " +
  176. httpResponse.getStatusCode());
  177. }
  178. try {
  179. return;
  180. }
  181. catch (Exception e) {
  182. _logger.log(
  183. Level.WARNING,
  184. "Unable to process HTTP response: " + content, e);
  185. throw new Problem.ProblemException(Problem.toDTO(content));
  186. }
  187. }
  188. public HttpInvoker.HttpResponse patchIndexesRefreshHttpResponse(
  189. Index index)
  190. throws Exception {
  191. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  192. httpInvoker.body(index.toString(), "application/json");
  193. if (_builder._locale != null) {
  194. httpInvoker.header(
  195. "Accept-Language", _builder._locale.toLanguageTag());
  196. }
  197. for (Map.Entry<String, String> entry :
  198. _builder._headers.entrySet()) {
  199. httpInvoker.header(entry.getKey(), entry.getValue());
  200. }
  201. for (Map.Entry<String, String> entry :
  202. _builder._parameters.entrySet()) {
  203. httpInvoker.parameter(entry.getKey(), entry.getValue());
  204. }
  205. httpInvoker.httpMethod(HttpInvoker.HttpMethod.PATCH);
  206. httpInvoker.path(
  207. _builder._scheme + "://" + _builder._host + ":" +
  208. _builder._port +
  209. "/o/portal-workflow-metrics/v1.0/indexes/refresh");
  210. httpInvoker.userNameAndPassword(
  211. _builder._login + ":" + _builder._password);
  212. return httpInvoker.invoke();
  213. }
  214. public void patchIndexesReindex(Index index) throws Exception {
  215. HttpInvoker.HttpResponse httpResponse =
  216. patchIndexesReindexHttpResponse(index);
  217. String content = httpResponse.getContent();
  218. if ((httpResponse.getStatusCode() / 100) != 2) {
  219. _logger.log(
  220. Level.WARNING,
  221. "Unable to process HTTP response content: " + content);
  222. _logger.log(
  223. Level.WARNING,
  224. "HTTP response message: " + httpResponse.getMessage());
  225. _logger.log(
  226. Level.WARNING,
  227. "HTTP response status code: " +
  228. httpResponse.getStatusCode());
  229. throw new Problem.ProblemException(Problem.toDTO(content));
  230. }
  231. else {
  232. _logger.fine("HTTP response content: " + content);
  233. _logger.fine(
  234. "HTTP response message: " + httpResponse.getMessage());
  235. _logger.fine(
  236. "HTTP response status code: " +
  237. httpResponse.getStatusCode());
  238. }
  239. try {
  240. return;
  241. }
  242. catch (Exception e) {
  243. _logger.log(
  244. Level.WARNING,
  245. "Unable to process HTTP response: " + content, e);
  246. throw new Problem.ProblemException(Problem.toDTO(content));
  247. }
  248. }
  249. public HttpInvoker.HttpResponse patchIndexesReindexHttpResponse(
  250. Index index)
  251. throws Exception {
  252. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  253. httpInvoker.body(index.toString(), "application/json");
  254. if (_builder._locale != null) {
  255. httpInvoker.header(
  256. "Accept-Language", _builder._locale.toLanguageTag());
  257. }
  258. for (Map.Entry<String, String> entry :
  259. _builder._headers.entrySet()) {
  260. httpInvoker.header(entry.getKey(), entry.getValue());
  261. }
  262. for (Map.Entry<String, String> entry :
  263. _builder._parameters.entrySet()) {
  264. httpInvoker.parameter(entry.getKey(), entry.getValue());
  265. }
  266. httpInvoker.httpMethod(HttpInvoker.HttpMethod.PATCH);
  267. httpInvoker.path(
  268. _builder._scheme + "://" + _builder._host + ":" +
  269. _builder._port +
  270. "/o/portal-workflow-metrics/v1.0/indexes/reindex");
  271. httpInvoker.userNameAndPassword(
  272. _builder._login + ":" + _builder._password);
  273. return httpInvoker.invoke();
  274. }
  275. private IndexResourceImpl(Builder builder) {
  276. _builder = builder;
  277. }
  278. private static final Logger _logger = Logger.getLogger(
  279. IndexResource.class.getName());
  280. private Builder _builder;
  281. }
  282. }