/modules/apps/headless/headless-delivery/headless-delivery-client/src/main/java/com/liferay/headless/delivery/client/resource/v1_0/ContentSetElementResource.java

https://github.com/danielreuther/liferay-portal · Java · 644 lines · 484 code · 143 blank · 17 comment · 48 complexity · 4b6ea04a057952449a2c43d30977fe41 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.delivery.client.resource.v1_0;
  15. import com.liferay.headless.delivery.client.dto.v1_0.ContentSetElement;
  16. import com.liferay.headless.delivery.client.http.HttpInvoker;
  17. import com.liferay.headless.delivery.client.pagination.Page;
  18. import com.liferay.headless.delivery.client.pagination.Pagination;
  19. import com.liferay.headless.delivery.client.problem.Problem;
  20. import com.liferay.headless.delivery.client.serdes.v1_0.ContentSetElementSerDes;
  21. import java.util.LinkedHashMap;
  22. import java.util.Locale;
  23. import java.util.Map;
  24. import java.util.logging.Level;
  25. import java.util.logging.Logger;
  26. import javax.annotation.Generated;
  27. /**
  28. * @author Javier Gamarra
  29. * @generated
  30. */
  31. @Generated("")
  32. public interface ContentSetElementResource {
  33. public static Builder builder() {
  34. return new Builder();
  35. }
  36. public Page<ContentSetElement>
  37. getAssetLibraryContentSetByKeyContentSetElementsPage(
  38. Long assetLibraryId, String key, Pagination pagination)
  39. throws Exception;
  40. public HttpInvoker.HttpResponse
  41. getAssetLibraryContentSetByKeyContentSetElementsPageHttpResponse(
  42. Long assetLibraryId, String key, Pagination pagination)
  43. throws Exception;
  44. public Page<ContentSetElement>
  45. getAssetLibraryContentSetByUuidContentSetElementsPage(
  46. Long assetLibraryId, String uuid, Pagination pagination)
  47. throws Exception;
  48. public HttpInvoker.HttpResponse
  49. getAssetLibraryContentSetByUuidContentSetElementsPageHttpResponse(
  50. Long assetLibraryId, String uuid, Pagination pagination)
  51. throws Exception;
  52. public Page<ContentSetElement> getContentSetContentSetElementsPage(
  53. Long contentSetId, Pagination pagination)
  54. throws Exception;
  55. public HttpInvoker.HttpResponse
  56. getContentSetContentSetElementsPageHttpResponse(
  57. Long contentSetId, Pagination pagination)
  58. throws Exception;
  59. public Page<ContentSetElement> getSiteContentSetByKeyContentSetElementsPage(
  60. Long siteId, String key, Pagination pagination)
  61. throws Exception;
  62. public HttpInvoker.HttpResponse
  63. getSiteContentSetByKeyContentSetElementsPageHttpResponse(
  64. Long siteId, String key, Pagination pagination)
  65. throws Exception;
  66. public Page<ContentSetElement>
  67. getSiteContentSetByUuidContentSetElementsPage(
  68. Long siteId, String uuid, Pagination pagination)
  69. throws Exception;
  70. public HttpInvoker.HttpResponse
  71. getSiteContentSetByUuidContentSetElementsPageHttpResponse(
  72. Long siteId, String uuid, Pagination pagination)
  73. throws Exception;
  74. public static class Builder {
  75. public Builder authentication(String login, String password) {
  76. _login = login;
  77. _password = password;
  78. return this;
  79. }
  80. public ContentSetElementResource build() {
  81. return new ContentSetElementResourceImpl(this);
  82. }
  83. public Builder contextPath(String contextPath) {
  84. _contextPath = contextPath;
  85. return this;
  86. }
  87. public Builder endpoint(String host, int port, String scheme) {
  88. _host = host;
  89. _port = port;
  90. _scheme = scheme;
  91. return this;
  92. }
  93. public Builder header(String key, String value) {
  94. _headers.put(key, value);
  95. return this;
  96. }
  97. public Builder locale(Locale locale) {
  98. _locale = locale;
  99. return this;
  100. }
  101. public Builder parameter(String key, String value) {
  102. _parameters.put(key, value);
  103. return this;
  104. }
  105. public Builder parameters(String... parameters) {
  106. if ((parameters.length % 2) != 0) {
  107. throw new IllegalArgumentException(
  108. "Parameters length is not an even number");
  109. }
  110. for (int i = 0; i < parameters.length; i += 2) {
  111. String parameterName = String.valueOf(parameters[i]);
  112. String parameterValue = String.valueOf(parameters[i + 1]);
  113. _parameters.put(parameterName, parameterValue);
  114. }
  115. return this;
  116. }
  117. private Builder() {
  118. }
  119. private String _contextPath = "";
  120. private Map<String, String> _headers = new LinkedHashMap<>();
  121. private String _host = "localhost";
  122. private Locale _locale;
  123. private String _login = "";
  124. private String _password = "";
  125. private Map<String, String> _parameters = new LinkedHashMap<>();
  126. private int _port = 8080;
  127. private String _scheme = "http";
  128. }
  129. public static class ContentSetElementResourceImpl
  130. implements ContentSetElementResource {
  131. public Page<ContentSetElement>
  132. getAssetLibraryContentSetByKeyContentSetElementsPage(
  133. Long assetLibraryId, String key, Pagination pagination)
  134. throws Exception {
  135. HttpInvoker.HttpResponse httpResponse =
  136. getAssetLibraryContentSetByKeyContentSetElementsPageHttpResponse(
  137. assetLibraryId, key, pagination);
  138. String content = httpResponse.getContent();
  139. if ((httpResponse.getStatusCode() / 100) != 2) {
  140. _logger.log(
  141. Level.WARNING,
  142. "Unable to process HTTP response content: " + content);
  143. _logger.log(
  144. Level.WARNING,
  145. "HTTP response message: " + httpResponse.getMessage());
  146. _logger.log(
  147. Level.WARNING,
  148. "HTTP response status code: " +
  149. httpResponse.getStatusCode());
  150. throw new Problem.ProblemException(Problem.toDTO(content));
  151. }
  152. else {
  153. _logger.fine("HTTP response content: " + content);
  154. _logger.fine(
  155. "HTTP response message: " + httpResponse.getMessage());
  156. _logger.fine(
  157. "HTTP response status code: " +
  158. httpResponse.getStatusCode());
  159. }
  160. try {
  161. return Page.of(content, ContentSetElementSerDes::toDTO);
  162. }
  163. catch (Exception e) {
  164. _logger.log(
  165. Level.WARNING,
  166. "Unable to process HTTP response: " + content, e);
  167. throw new Problem.ProblemException(Problem.toDTO(content));
  168. }
  169. }
  170. public HttpInvoker.HttpResponse
  171. getAssetLibraryContentSetByKeyContentSetElementsPageHttpResponse(
  172. Long assetLibraryId, String key, Pagination pagination)
  173. throws Exception {
  174. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  175. if (_builder._locale != null) {
  176. httpInvoker.header(
  177. "Accept-Language", _builder._locale.toLanguageTag());
  178. }
  179. for (Map.Entry<String, String> entry :
  180. _builder._headers.entrySet()) {
  181. httpInvoker.header(entry.getKey(), entry.getValue());
  182. }
  183. for (Map.Entry<String, String> entry :
  184. _builder._parameters.entrySet()) {
  185. httpInvoker.parameter(entry.getKey(), entry.getValue());
  186. }
  187. httpInvoker.httpMethod(HttpInvoker.HttpMethod.GET);
  188. if (pagination != null) {
  189. httpInvoker.parameter(
  190. "page", String.valueOf(pagination.getPage()));
  191. httpInvoker.parameter(
  192. "pageSize", String.valueOf(pagination.getPageSize()));
  193. }
  194. httpInvoker.path(
  195. _builder._scheme + "://" + _builder._host + ":" +
  196. _builder._port + _builder._contextPath +
  197. "/o/headless-delivery/v1.0/asset-libraries/{assetLibraryId}/content-sets/by-key/{key}/content-set-elements");
  198. httpInvoker.path("assetLibraryId", assetLibraryId);
  199. httpInvoker.path("key", key);
  200. httpInvoker.userNameAndPassword(
  201. _builder._login + ":" + _builder._password);
  202. return httpInvoker.invoke();
  203. }
  204. public Page<ContentSetElement>
  205. getAssetLibraryContentSetByUuidContentSetElementsPage(
  206. Long assetLibraryId, String uuid, Pagination pagination)
  207. throws Exception {
  208. HttpInvoker.HttpResponse httpResponse =
  209. getAssetLibraryContentSetByUuidContentSetElementsPageHttpResponse(
  210. assetLibraryId, uuid, pagination);
  211. String content = httpResponse.getContent();
  212. if ((httpResponse.getStatusCode() / 100) != 2) {
  213. _logger.log(
  214. Level.WARNING,
  215. "Unable to process HTTP response content: " + content);
  216. _logger.log(
  217. Level.WARNING,
  218. "HTTP response message: " + httpResponse.getMessage());
  219. _logger.log(
  220. Level.WARNING,
  221. "HTTP response status code: " +
  222. httpResponse.getStatusCode());
  223. throw new Problem.ProblemException(Problem.toDTO(content));
  224. }
  225. else {
  226. _logger.fine("HTTP response content: " + content);
  227. _logger.fine(
  228. "HTTP response message: " + httpResponse.getMessage());
  229. _logger.fine(
  230. "HTTP response status code: " +
  231. httpResponse.getStatusCode());
  232. }
  233. try {
  234. return Page.of(content, ContentSetElementSerDes::toDTO);
  235. }
  236. catch (Exception e) {
  237. _logger.log(
  238. Level.WARNING,
  239. "Unable to process HTTP response: " + content, e);
  240. throw new Problem.ProblemException(Problem.toDTO(content));
  241. }
  242. }
  243. public HttpInvoker.HttpResponse
  244. getAssetLibraryContentSetByUuidContentSetElementsPageHttpResponse(
  245. Long assetLibraryId, String uuid, Pagination pagination)
  246. throws Exception {
  247. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  248. if (_builder._locale != null) {
  249. httpInvoker.header(
  250. "Accept-Language", _builder._locale.toLanguageTag());
  251. }
  252. for (Map.Entry<String, String> entry :
  253. _builder._headers.entrySet()) {
  254. httpInvoker.header(entry.getKey(), entry.getValue());
  255. }
  256. for (Map.Entry<String, String> entry :
  257. _builder._parameters.entrySet()) {
  258. httpInvoker.parameter(entry.getKey(), entry.getValue());
  259. }
  260. httpInvoker.httpMethod(HttpInvoker.HttpMethod.GET);
  261. if (pagination != null) {
  262. httpInvoker.parameter(
  263. "page", String.valueOf(pagination.getPage()));
  264. httpInvoker.parameter(
  265. "pageSize", String.valueOf(pagination.getPageSize()));
  266. }
  267. httpInvoker.path(
  268. _builder._scheme + "://" + _builder._host + ":" +
  269. _builder._port + _builder._contextPath +
  270. "/o/headless-delivery/v1.0/asset-libraries/{assetLibraryId}/content-sets/by-uuid/{uuid}/content-set-elements");
  271. httpInvoker.path("assetLibraryId", assetLibraryId);
  272. httpInvoker.path("uuid", uuid);
  273. httpInvoker.userNameAndPassword(
  274. _builder._login + ":" + _builder._password);
  275. return httpInvoker.invoke();
  276. }
  277. public Page<ContentSetElement> getContentSetContentSetElementsPage(
  278. Long contentSetId, Pagination pagination)
  279. throws Exception {
  280. HttpInvoker.HttpResponse httpResponse =
  281. getContentSetContentSetElementsPageHttpResponse(
  282. contentSetId, pagination);
  283. String content = httpResponse.getContent();
  284. if ((httpResponse.getStatusCode() / 100) != 2) {
  285. _logger.log(
  286. Level.WARNING,
  287. "Unable to process HTTP response content: " + content);
  288. _logger.log(
  289. Level.WARNING,
  290. "HTTP response message: " + httpResponse.getMessage());
  291. _logger.log(
  292. Level.WARNING,
  293. "HTTP response status code: " +
  294. httpResponse.getStatusCode());
  295. throw new Problem.ProblemException(Problem.toDTO(content));
  296. }
  297. else {
  298. _logger.fine("HTTP response content: " + content);
  299. _logger.fine(
  300. "HTTP response message: " + httpResponse.getMessage());
  301. _logger.fine(
  302. "HTTP response status code: " +
  303. httpResponse.getStatusCode());
  304. }
  305. try {
  306. return Page.of(content, ContentSetElementSerDes::toDTO);
  307. }
  308. catch (Exception e) {
  309. _logger.log(
  310. Level.WARNING,
  311. "Unable to process HTTP response: " + content, e);
  312. throw new Problem.ProblemException(Problem.toDTO(content));
  313. }
  314. }
  315. public HttpInvoker.HttpResponse
  316. getContentSetContentSetElementsPageHttpResponse(
  317. Long contentSetId, Pagination pagination)
  318. throws Exception {
  319. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  320. if (_builder._locale != null) {
  321. httpInvoker.header(
  322. "Accept-Language", _builder._locale.toLanguageTag());
  323. }
  324. for (Map.Entry<String, String> entry :
  325. _builder._headers.entrySet()) {
  326. httpInvoker.header(entry.getKey(), entry.getValue());
  327. }
  328. for (Map.Entry<String, String> entry :
  329. _builder._parameters.entrySet()) {
  330. httpInvoker.parameter(entry.getKey(), entry.getValue());
  331. }
  332. httpInvoker.httpMethod(HttpInvoker.HttpMethod.GET);
  333. if (pagination != null) {
  334. httpInvoker.parameter(
  335. "page", String.valueOf(pagination.getPage()));
  336. httpInvoker.parameter(
  337. "pageSize", String.valueOf(pagination.getPageSize()));
  338. }
  339. httpInvoker.path(
  340. _builder._scheme + "://" + _builder._host + ":" +
  341. _builder._port + _builder._contextPath +
  342. "/o/headless-delivery/v1.0/content-sets/{contentSetId}/content-set-elements");
  343. httpInvoker.path("contentSetId", contentSetId);
  344. httpInvoker.userNameAndPassword(
  345. _builder._login + ":" + _builder._password);
  346. return httpInvoker.invoke();
  347. }
  348. public Page<ContentSetElement>
  349. getSiteContentSetByKeyContentSetElementsPage(
  350. Long siteId, String key, Pagination pagination)
  351. throws Exception {
  352. HttpInvoker.HttpResponse httpResponse =
  353. getSiteContentSetByKeyContentSetElementsPageHttpResponse(
  354. siteId, key, pagination);
  355. String content = httpResponse.getContent();
  356. if ((httpResponse.getStatusCode() / 100) != 2) {
  357. _logger.log(
  358. Level.WARNING,
  359. "Unable to process HTTP response content: " + content);
  360. _logger.log(
  361. Level.WARNING,
  362. "HTTP response message: " + httpResponse.getMessage());
  363. _logger.log(
  364. Level.WARNING,
  365. "HTTP response status code: " +
  366. httpResponse.getStatusCode());
  367. throw new Problem.ProblemException(Problem.toDTO(content));
  368. }
  369. else {
  370. _logger.fine("HTTP response content: " + content);
  371. _logger.fine(
  372. "HTTP response message: " + httpResponse.getMessage());
  373. _logger.fine(
  374. "HTTP response status code: " +
  375. httpResponse.getStatusCode());
  376. }
  377. try {
  378. return Page.of(content, ContentSetElementSerDes::toDTO);
  379. }
  380. catch (Exception e) {
  381. _logger.log(
  382. Level.WARNING,
  383. "Unable to process HTTP response: " + content, e);
  384. throw new Problem.ProblemException(Problem.toDTO(content));
  385. }
  386. }
  387. public HttpInvoker.HttpResponse
  388. getSiteContentSetByKeyContentSetElementsPageHttpResponse(
  389. Long siteId, String key, Pagination pagination)
  390. throws Exception {
  391. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  392. if (_builder._locale != null) {
  393. httpInvoker.header(
  394. "Accept-Language", _builder._locale.toLanguageTag());
  395. }
  396. for (Map.Entry<String, String> entry :
  397. _builder._headers.entrySet()) {
  398. httpInvoker.header(entry.getKey(), entry.getValue());
  399. }
  400. for (Map.Entry<String, String> entry :
  401. _builder._parameters.entrySet()) {
  402. httpInvoker.parameter(entry.getKey(), entry.getValue());
  403. }
  404. httpInvoker.httpMethod(HttpInvoker.HttpMethod.GET);
  405. if (pagination != null) {
  406. httpInvoker.parameter(
  407. "page", String.valueOf(pagination.getPage()));
  408. httpInvoker.parameter(
  409. "pageSize", String.valueOf(pagination.getPageSize()));
  410. }
  411. httpInvoker.path(
  412. _builder._scheme + "://" + _builder._host + ":" +
  413. _builder._port + _builder._contextPath +
  414. "/o/headless-delivery/v1.0/sites/{siteId}/content-sets/by-key/{key}/content-set-elements");
  415. httpInvoker.path("siteId", siteId);
  416. httpInvoker.path("key", key);
  417. httpInvoker.userNameAndPassword(
  418. _builder._login + ":" + _builder._password);
  419. return httpInvoker.invoke();
  420. }
  421. public Page<ContentSetElement>
  422. getSiteContentSetByUuidContentSetElementsPage(
  423. Long siteId, String uuid, Pagination pagination)
  424. throws Exception {
  425. HttpInvoker.HttpResponse httpResponse =
  426. getSiteContentSetByUuidContentSetElementsPageHttpResponse(
  427. siteId, uuid, pagination);
  428. String content = httpResponse.getContent();
  429. if ((httpResponse.getStatusCode() / 100) != 2) {
  430. _logger.log(
  431. Level.WARNING,
  432. "Unable to process HTTP response content: " + content);
  433. _logger.log(
  434. Level.WARNING,
  435. "HTTP response message: " + httpResponse.getMessage());
  436. _logger.log(
  437. Level.WARNING,
  438. "HTTP response status code: " +
  439. httpResponse.getStatusCode());
  440. throw new Problem.ProblemException(Problem.toDTO(content));
  441. }
  442. else {
  443. _logger.fine("HTTP response content: " + content);
  444. _logger.fine(
  445. "HTTP response message: " + httpResponse.getMessage());
  446. _logger.fine(
  447. "HTTP response status code: " +
  448. httpResponse.getStatusCode());
  449. }
  450. try {
  451. return Page.of(content, ContentSetElementSerDes::toDTO);
  452. }
  453. catch (Exception e) {
  454. _logger.log(
  455. Level.WARNING,
  456. "Unable to process HTTP response: " + content, e);
  457. throw new Problem.ProblemException(Problem.toDTO(content));
  458. }
  459. }
  460. public HttpInvoker.HttpResponse
  461. getSiteContentSetByUuidContentSetElementsPageHttpResponse(
  462. Long siteId, String uuid, Pagination pagination)
  463. throws Exception {
  464. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  465. if (_builder._locale != null) {
  466. httpInvoker.header(
  467. "Accept-Language", _builder._locale.toLanguageTag());
  468. }
  469. for (Map.Entry<String, String> entry :
  470. _builder._headers.entrySet()) {
  471. httpInvoker.header(entry.getKey(), entry.getValue());
  472. }
  473. for (Map.Entry<String, String> entry :
  474. _builder._parameters.entrySet()) {
  475. httpInvoker.parameter(entry.getKey(), entry.getValue());
  476. }
  477. httpInvoker.httpMethod(HttpInvoker.HttpMethod.GET);
  478. if (pagination != null) {
  479. httpInvoker.parameter(
  480. "page", String.valueOf(pagination.getPage()));
  481. httpInvoker.parameter(
  482. "pageSize", String.valueOf(pagination.getPageSize()));
  483. }
  484. httpInvoker.path(
  485. _builder._scheme + "://" + _builder._host + ":" +
  486. _builder._port + _builder._contextPath +
  487. "/o/headless-delivery/v1.0/sites/{siteId}/content-sets/by-uuid/{uuid}/content-set-elements");
  488. httpInvoker.path("siteId", siteId);
  489. httpInvoker.path("uuid", uuid);
  490. httpInvoker.userNameAndPassword(
  491. _builder._login + ":" + _builder._password);
  492. return httpInvoker.invoke();
  493. }
  494. private ContentSetElementResourceImpl(Builder builder) {
  495. _builder = builder;
  496. }
  497. private static final Logger _logger = Logger.getLogger(
  498. ContentSetElementResource.class.getName());
  499. private Builder _builder;
  500. }
  501. }