/modules/apps/headless/headless-admin-user/headless-admin-user-client/src/main/java/com/liferay/headless/admin/user/client/resource/v1_0/EmailAddressResource.java

https://github.com/danielreuther/liferay-portal · Java · 400 lines · 287 code · 96 blank · 17 comment · 24 complexity · 2697761f5daa21ee8e6696f24838da4d 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.headless.admin.user.client.resource.v1_0;
  15. import com.liferay.headless.admin.user.client.dto.v1_0.EmailAddress;
  16. import com.liferay.headless.admin.user.client.http.HttpInvoker;
  17. import com.liferay.headless.admin.user.client.pagination.Page;
  18. import com.liferay.headless.admin.user.client.problem.Problem;
  19. import com.liferay.headless.admin.user.client.serdes.v1_0.EmailAddressSerDes;
  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 Javier Gamarra
  28. * @generated
  29. */
  30. @Generated("")
  31. public interface EmailAddressResource {
  32. public static Builder builder() {
  33. return new Builder();
  34. }
  35. public EmailAddress getEmailAddress(Long emailAddressId) throws Exception;
  36. public HttpInvoker.HttpResponse getEmailAddressHttpResponse(
  37. Long emailAddressId)
  38. throws Exception;
  39. public Page<EmailAddress> getOrganizationEmailAddressesPage(
  40. String organizationId)
  41. throws Exception;
  42. public HttpInvoker.HttpResponse
  43. getOrganizationEmailAddressesPageHttpResponse(String organizationId)
  44. throws Exception;
  45. public Page<EmailAddress> getUserAccountEmailAddressesPage(
  46. Long userAccountId)
  47. throws Exception;
  48. public HttpInvoker.HttpResponse
  49. getUserAccountEmailAddressesPageHttpResponse(Long userAccountId)
  50. throws Exception;
  51. public static class Builder {
  52. public Builder authentication(String login, String password) {
  53. _login = login;
  54. _password = password;
  55. return this;
  56. }
  57. public EmailAddressResource build() {
  58. return new EmailAddressResourceImpl(this);
  59. }
  60. public Builder contextPath(String contextPath) {
  61. _contextPath = contextPath;
  62. return this;
  63. }
  64. public Builder endpoint(String host, int port, String scheme) {
  65. _host = host;
  66. _port = port;
  67. _scheme = scheme;
  68. return this;
  69. }
  70. public Builder header(String key, String value) {
  71. _headers.put(key, value);
  72. return this;
  73. }
  74. public Builder locale(Locale locale) {
  75. _locale = locale;
  76. return this;
  77. }
  78. public Builder parameter(String key, String value) {
  79. _parameters.put(key, value);
  80. return this;
  81. }
  82. public Builder parameters(String... parameters) {
  83. if ((parameters.length % 2) != 0) {
  84. throw new IllegalArgumentException(
  85. "Parameters length is not an even number");
  86. }
  87. for (int i = 0; i < parameters.length; i += 2) {
  88. String parameterName = String.valueOf(parameters[i]);
  89. String parameterValue = String.valueOf(parameters[i + 1]);
  90. _parameters.put(parameterName, parameterValue);
  91. }
  92. return this;
  93. }
  94. private Builder() {
  95. }
  96. private String _contextPath = "";
  97. private Map<String, String> _headers = new LinkedHashMap<>();
  98. private String _host = "localhost";
  99. private Locale _locale;
  100. private String _login = "";
  101. private String _password = "";
  102. private Map<String, String> _parameters = new LinkedHashMap<>();
  103. private int _port = 8080;
  104. private String _scheme = "http";
  105. }
  106. public static class EmailAddressResourceImpl
  107. implements EmailAddressResource {
  108. public EmailAddress getEmailAddress(Long emailAddressId)
  109. throws Exception {
  110. HttpInvoker.HttpResponse httpResponse = getEmailAddressHttpResponse(
  111. emailAddressId);
  112. String content = httpResponse.getContent();
  113. if ((httpResponse.getStatusCode() / 100) != 2) {
  114. _logger.log(
  115. Level.WARNING,
  116. "Unable to process HTTP response content: " + content);
  117. _logger.log(
  118. Level.WARNING,
  119. "HTTP response message: " + httpResponse.getMessage());
  120. _logger.log(
  121. Level.WARNING,
  122. "HTTP response status code: " +
  123. httpResponse.getStatusCode());
  124. throw new Problem.ProblemException(Problem.toDTO(content));
  125. }
  126. else {
  127. _logger.fine("HTTP response content: " + content);
  128. _logger.fine(
  129. "HTTP response message: " + httpResponse.getMessage());
  130. _logger.fine(
  131. "HTTP response status code: " +
  132. httpResponse.getStatusCode());
  133. }
  134. try {
  135. return EmailAddressSerDes.toDTO(content);
  136. }
  137. catch (Exception e) {
  138. _logger.log(
  139. Level.WARNING,
  140. "Unable to process HTTP response: " + content, e);
  141. throw new Problem.ProblemException(Problem.toDTO(content));
  142. }
  143. }
  144. public HttpInvoker.HttpResponse getEmailAddressHttpResponse(
  145. Long emailAddressId)
  146. throws Exception {
  147. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  148. if (_builder._locale != null) {
  149. httpInvoker.header(
  150. "Accept-Language", _builder._locale.toLanguageTag());
  151. }
  152. for (Map.Entry<String, String> entry :
  153. _builder._headers.entrySet()) {
  154. httpInvoker.header(entry.getKey(), entry.getValue());
  155. }
  156. for (Map.Entry<String, String> entry :
  157. _builder._parameters.entrySet()) {
  158. httpInvoker.parameter(entry.getKey(), entry.getValue());
  159. }
  160. httpInvoker.httpMethod(HttpInvoker.HttpMethod.GET);
  161. httpInvoker.path(
  162. _builder._scheme + "://" + _builder._host + ":" +
  163. _builder._port + _builder._contextPath +
  164. "/o/headless-admin-user/v1.0/email-addresses/{emailAddressId}");
  165. httpInvoker.path("emailAddressId", emailAddressId);
  166. httpInvoker.userNameAndPassword(
  167. _builder._login + ":" + _builder._password);
  168. return httpInvoker.invoke();
  169. }
  170. public Page<EmailAddress> getOrganizationEmailAddressesPage(
  171. String organizationId)
  172. throws Exception {
  173. HttpInvoker.HttpResponse httpResponse =
  174. getOrganizationEmailAddressesPageHttpResponse(organizationId);
  175. String content = httpResponse.getContent();
  176. if ((httpResponse.getStatusCode() / 100) != 2) {
  177. _logger.log(
  178. Level.WARNING,
  179. "Unable to process HTTP response content: " + content);
  180. _logger.log(
  181. Level.WARNING,
  182. "HTTP response message: " + httpResponse.getMessage());
  183. _logger.log(
  184. Level.WARNING,
  185. "HTTP response status code: " +
  186. httpResponse.getStatusCode());
  187. throw new Problem.ProblemException(Problem.toDTO(content));
  188. }
  189. else {
  190. _logger.fine("HTTP response content: " + content);
  191. _logger.fine(
  192. "HTTP response message: " + httpResponse.getMessage());
  193. _logger.fine(
  194. "HTTP response status code: " +
  195. httpResponse.getStatusCode());
  196. }
  197. try {
  198. return Page.of(content, EmailAddressSerDes::toDTO);
  199. }
  200. catch (Exception e) {
  201. _logger.log(
  202. Level.WARNING,
  203. "Unable to process HTTP response: " + content, e);
  204. throw new Problem.ProblemException(Problem.toDTO(content));
  205. }
  206. }
  207. public HttpInvoker.HttpResponse
  208. getOrganizationEmailAddressesPageHttpResponse(
  209. String organizationId)
  210. throws Exception {
  211. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  212. if (_builder._locale != null) {
  213. httpInvoker.header(
  214. "Accept-Language", _builder._locale.toLanguageTag());
  215. }
  216. for (Map.Entry<String, String> entry :
  217. _builder._headers.entrySet()) {
  218. httpInvoker.header(entry.getKey(), entry.getValue());
  219. }
  220. for (Map.Entry<String, String> entry :
  221. _builder._parameters.entrySet()) {
  222. httpInvoker.parameter(entry.getKey(), entry.getValue());
  223. }
  224. httpInvoker.httpMethod(HttpInvoker.HttpMethod.GET);
  225. httpInvoker.path(
  226. _builder._scheme + "://" + _builder._host + ":" +
  227. _builder._port + _builder._contextPath +
  228. "/o/headless-admin-user/v1.0/organizations/{organizationId}/email-addresses");
  229. httpInvoker.path("organizationId", organizationId);
  230. httpInvoker.userNameAndPassword(
  231. _builder._login + ":" + _builder._password);
  232. return httpInvoker.invoke();
  233. }
  234. public Page<EmailAddress> getUserAccountEmailAddressesPage(
  235. Long userAccountId)
  236. throws Exception {
  237. HttpInvoker.HttpResponse httpResponse =
  238. getUserAccountEmailAddressesPageHttpResponse(userAccountId);
  239. String content = httpResponse.getContent();
  240. if ((httpResponse.getStatusCode() / 100) != 2) {
  241. _logger.log(
  242. Level.WARNING,
  243. "Unable to process HTTP response content: " + content);
  244. _logger.log(
  245. Level.WARNING,
  246. "HTTP response message: " + httpResponse.getMessage());
  247. _logger.log(
  248. Level.WARNING,
  249. "HTTP response status code: " +
  250. httpResponse.getStatusCode());
  251. throw new Problem.ProblemException(Problem.toDTO(content));
  252. }
  253. else {
  254. _logger.fine("HTTP response content: " + content);
  255. _logger.fine(
  256. "HTTP response message: " + httpResponse.getMessage());
  257. _logger.fine(
  258. "HTTP response status code: " +
  259. httpResponse.getStatusCode());
  260. }
  261. try {
  262. return Page.of(content, EmailAddressSerDes::toDTO);
  263. }
  264. catch (Exception e) {
  265. _logger.log(
  266. Level.WARNING,
  267. "Unable to process HTTP response: " + content, e);
  268. throw new Problem.ProblemException(Problem.toDTO(content));
  269. }
  270. }
  271. public HttpInvoker.HttpResponse
  272. getUserAccountEmailAddressesPageHttpResponse(Long userAccountId)
  273. throws Exception {
  274. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  275. if (_builder._locale != null) {
  276. httpInvoker.header(
  277. "Accept-Language", _builder._locale.toLanguageTag());
  278. }
  279. for (Map.Entry<String, String> entry :
  280. _builder._headers.entrySet()) {
  281. httpInvoker.header(entry.getKey(), entry.getValue());
  282. }
  283. for (Map.Entry<String, String> entry :
  284. _builder._parameters.entrySet()) {
  285. httpInvoker.parameter(entry.getKey(), entry.getValue());
  286. }
  287. httpInvoker.httpMethod(HttpInvoker.HttpMethod.GET);
  288. httpInvoker.path(
  289. _builder._scheme + "://" + _builder._host + ":" +
  290. _builder._port + _builder._contextPath +
  291. "/o/headless-admin-user/v1.0/user-accounts/{userAccountId}/email-addresses");
  292. httpInvoker.path("userAccountId", userAccountId);
  293. httpInvoker.userNameAndPassword(
  294. _builder._login + ":" + _builder._password);
  295. return httpInvoker.invoke();
  296. }
  297. private EmailAddressResourceImpl(Builder builder) {
  298. _builder = builder;
  299. }
  300. private static final Logger _logger = Logger.getLogger(
  301. EmailAddressResource.class.getName());
  302. private Builder _builder;
  303. }
  304. }